Apache调优最详细的

Apache调优最详细的
Apache调优最详细的

目录

一、性能优化概述 (2)

二、服务器参数调优 (2)

1、内核网络参数调优 (2)

2、文件系统优化 (3)

3、I/O调优 (3)

4、增加进程数和文件描述符限制值 (4)

三、Apache编译调优 (4)

四、Apache运行参数调优 (5)

1、Worker运行模式优化 (5)

1)验证运行模式是否为worker (5)

2)打开配置文件有关worker的参数 (5)

2、其他参数优化 (6)

1)ExtendedStatus Off (6)

2)关闭FollowSymLinks (6)

3)关闭ExecCGI (6)

4)关闭IncludesNOEXEC (7)

5)开启indexes (7)

6)关闭AllowOverride对口令验证的支持 (7)

7)DirectoryIndex不要使用通配符 (7)

8)启用了持久链接Keepalive (7)

9)减少TimeOut值 (7)

10)减少KeepAliveTimeOut值 (7)

11)增加MaxKeepAliveRequest值 (8)

12)静态内容使用mod_cache模块缓存 (8)

13)关闭HostnameLookups功能 (8)

14)serversignature off (8)

15)禁用显示服务器状态信息 (8)

15)确保日志文件不要存放在网络文件系统上 (8)

3、取消不用的模块加载 (8)

4、缓存模块的优化配置 (9)

1)mod_cache,mod_mem_cache,mod_disk_cache,mod_file_cache (10)

2)mod_rewrite (12)

5)mod_cband (12)

6)mod_expires (12)

7)mod_deflate (13)

一、性能优化概述

1、服务器参数调优:网络内核参数调优,文件系统参数调优,I/O调优

2、编译调优

3、配置调优:包括运行模式调优,模块调优

4、使用缓存代理

5、使用集群方案

二、服务器参数调优

1、内核网络参数调优

在/etc/sysctl.conf添加以下内核参数:

2、文件系统优化

由于Web服务器涉及大量的系统文件访问,所以在使用EXT3文件系统的情况下,可以使用日志模式,另外在挂载文件系统的时候,建议使用noatime选项。

另外根据Web服务应用的类型设置正确的默认块大小,如果是存放大量小文件,建议在格式化文件系统时,使用更小的块大小,如果存放的是大量的大文件,建议使用更大的块,默认是的块大小是1024byte。应根据平均文件大小来修改决定此值。

mkfs.ext3 -b 4096 /dev/sda3

其它的优化请参考我的Linux系统性能调优课程。

3、I/O调优

这个是可选步骤,因为可能出现其它并发症。

在grub.conf中加入相应的I/O调度算法,如:

这里使用了Deadline的调度算法,更适合数据吞吐量非常大的应用。

4、增加进程数和文件描述符限制值

源码包的Apache默认是使用daemon身份创建进程,因此要对它进行设置:

要真正扩大Apache打开的进程数和文件描述,还需要联合Apache的运行模式进行配置,请查看文档后面的内容。

三、Apache编译调优

其中还有很多编译参数,分别启用不同的功能,这里是为了性能优化的,所以很多功能需求应该根据实际情况打开,具体请参考Apache的官方文档。

四、Apache运行参数调优

1、Worker运行模式优化

由于我们在编译apache时候选用了worker的模式,因为在配置参数文件时,必须针对该模式进行调优:

1)验证运行模式是否为worker

---##有待补充截图

2)打开配置文件有关worker的参数

# vim /usr/local/apache2/conf/httpd.conf

# vim /usr/local/apache2/conf/extra/httpd-mpm.conf

ServerLimit ServerLimit是活动子进程数量的硬限制,它必须大于或等于MaxClients除以

2、其他参数优化

1)ExtendedStatus Off

关闭对每个请求连接的扩展状态信息跟踪。

2)关闭FollowSymLinks

......

Options -FollowSymLinks

......

3)关闭ExecCGI

如果服务器没有CGI需要运行,则从安全和性能方面都强烈建议关闭。

Options -ExecCGI

......

# LoadModule cgi_module modules/mod_cgi.so

并确保没有任何CGI的调优,否则apache启动会出错。

4)关闭IncludesNOEXEC

5)开启indexes

Options Indexes

......

6)关闭AllowOverride对口令验证的支持

......

AllowOverride None

......l

7)DirectoryIndex不要使用通配符

例如:DirectoryIndex index* 这会额外增加apache的负担,应该明确搜索那些默认首页,而且越少越好。

8)启用了持久链接Keepalive

Keepalive On

特别对于图片问价较多的网站,建议打开。关于Keepalive、TimeOut、KeepAliveTimeout的设置,请查看调试实验。

在内存非常充足的服务器上,不管是否关闭 KeepAlive 功能,服务器性能不会有明显变化;

如果服务器内存较少,或者服务器有非常大量的文件系统访问时,或者主要处理动态网页服务,关闭 KeepAlive 后可以节省很多内存,而节省出来的内存用于文件系统Cache,可以提高文件系统访问的性能,并且系统会更加稳定。

9)减少TimeOut值

TimeOut 30

10)减少KeepAliveTimeOut值

KeepAliveTimeOut 5

11)增加MaxKeepAliveRequest值

MaxKeepAliveRequest 150

12)静态内容使用mod_cache模块缓存

常见后面的优化。

13)关闭HostnameLookups功能

HostnameLookups Off

14)serversignature off

默认情况下,很多apache安装时会显示版本号及操作系统版本,甚至会显示服务器上安装的是什么样的apache 模块。这些信息可以为黑客所用,并且黑客还可以从中得知你所配置的服务器上的很多设置都是默认状态。

15)禁用显示服务器状态信息

尽管这对测试与监控服务器很有用,但它为服务器带来额外的开销,建议关闭。找到任何类似SetHandler server-status 并把它关闭。默认是关闭的。

15)确保日志文件不要存放在网络文件系统上

3、取消不用的模块加载

注释LoadMoule指令中不要的模块。红色有待验证

一般说来,不需要的模块包括:

#LoadModule auth_basic_module modules/mod_auth_basic.so 使用基本认证

#LoadModule auth_digest_module modules/mod_auth_digest.so

#LoadModule authn_file_module modules/mod_authn_file.so 使用纯文本文件为认证提供支持

#LoadModule authn_alias_module modules/mod_authn_alias.so

#LoadModule authn_anon_module modules/mod_authn_anon.so

#LoadModule authn_dbm_module modules/mod_authn_dbm.so

#LoadModule authn_default_module modules/mod_authn_default.so使用基本认证

#LoadModule authz_host_module modules/mod_authz_host.so

#LoadModule authz_user_module modules/mod_authz_user.so

#LoadModule authz_owner_module modules/mod_authz_owner.so

#LoadModule authz_groupfile_module modules/mod_authz_groupfile.so

#LoadModule authz_dbm_module modules/mod_authz_dbm.so

#LoadModule authz_default_module modules/mod_authz_default.so

#LoadModule ldap_module modules/mod_ldap.so

#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so

LoadModule include_module modules/mod_include.so

LoadModule log_config_module modules/mod_log_config.so

LoadModule logio_module modules/mod_logio.so

#LoadModule env_module modules/mod_env.so 允许Apache修改或清除传送到CGI脚本和SSI页面的环境变量LoadModule ext_filter_module modules/mod_ext_filter.so

LoadModule mime_magic_module modules/mod_mime_magic.so

LoadModule expires_module modules/mod_expires.so

LoadModule deflate_module modules/mod_deflate.so 以下两个模块是启用页面压缩功能

LoadModule headers_module modules/mod_headers.so

LoadModule usertrack_module modules/mod_usertrack.so

#LoadModule setenvif_module modules/mod_setenvif.so 根据客户端请求头字段设置环境变量

LoadModule mime_module modules/mod_mime.so

#LoadModule dav_module modules/mod_dav.so

#LoadModule status_module modules/mod_status.so 生成描述服务器状态的Web页面

#LoadModule autoindex_module modules/mod_autoindex.so 自动对目录中的内容生成列表,类似于"ls"或"dir"命令#LoadModule info_module modules/mod_info.so 生成Apache配置情况的Web页面

#LoadModule dav_fs_module modules/mod_dav_fs.so

LoadModule vhost_alias_module modules/mod_vhost_alias.so

LoadModule negotiation_module modules/mod_negotiation.so

LoadModule dir_module modules/mod_dir.so

#LoadModule actions_module modules/mod_actions.so 基于媒体类型或请求方法,为执行CGI脚本而提供LoadModule speling_module modules/mod_speling.so

#比如:不需要在~/username/下调试php可以将

#LoadModule userdir_module modules/mod_userdir.so

#LoadModule alias_module modules/mod_alias.so 可以有选择禁用它

LoadModule rewrite_module modules/mod_rewrite.so

#LoadModule proxy_module modules/mod_proxy.so 如果决定不适用任何代理功能,可以禁用。

#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so

#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so

#LoadModule proxy_http_module modules/mod_proxy_http.so

#LoadModule proxy_connect_module modules/mod_proxy_connect.so

LoadModule cache_module modules/mod_cache.so

LoadModule suexec_module modules/mod_suexec.so

LoadModule disk_cache_module modules/mod_disk_cache.so

LoadModule file_cache_module modules/mod_file_cache.so

LoadModule mem_cache_module modules/mod_mem_cache.so

#cgi程序用到,象awstats之类需要用到

#LoadModule cgi_module modules/mod_cgi.so 如果没有任何CGI程序,可以禁用

#LoadModule version_module modules/mod_version.so

4、缓存模块的优化配置

参考教材上的

1)m od_cache,mod_mem_cache,mod_disk_cache,mod_file_cache

mod_cache以及它的支持模块mod_mem_cache和mod_disk_cache提供了智能的HTTP缓冲。内容(content)本身被存储在缓冲区中,mod_cache的目的在于管理控制内容缓冲能力的各种HTTP头和选项。它可以同时处理本地的内容和代理的内容。mod_cache被设计为同时针对简单的和复杂的缓冲配置,以用于处理代理的内容、动态的本地内容、必须加速访问的随时间而改变本地文件。

另一方面,mod_file_cache实现了一个更基本的、但是在某些情况下更有效的缓冲形式,它避免了主动确保URL 缓冲能力所需的维护复杂性,mod_file_cache通过提供文件句柄(file-handle)和内存映射(memory-mapping)的技巧来维持一个自Apache最后一次启动以来的文件缓冲区。同样地,mod_file_cache的目标是改善不常修改的本地静态文件的访问时间。

什么可以被缓存?什么不会被缓存?

A、必须为该URL启用了缓冲。请参考CacheEnable和CacheDisable指令。

B、应答必须具有如下HTTP状态码:200, 203, 300, 301, 410 。

C、该请求必须是一个HTTP GET请求。

D、)如果请求包含"Authorization:"头,则应答不被缓存。

E、)如果应答包含"Authorization:"头,它必须同时也在"Cache-Control:"头中包含"s-maxage"、"must-revalidate"

或"public"选项。

F、如果该URL包含一个查询字符串(比如来自于一个使用GET方法的HTML表格或者问号?后的那些东西),除

非应答包含"Expires:"头,否则将不被缓存。这是基于RFC2616的13.9小节的规范。

G、如果应答的状态码是200(OK),除非明确打开了CacheIgnoreNoLastMod指令,否则该应答还必须至少包含

一个"Etag"、"Last-Modified"或"Expires"头才能被缓存。

H、如果应答头"Cache-Control:"中包含"private"选项,除非明确打开了CacheStorePrivate指令,否则将不被缓存。

I、同样,如果应答头"Cache-Control:"中包含"no-store"选项,除非明确打开了CacheStoreNoStore指令,否则将

不被缓存。

J、如果应答包含"Vary:"头,并且其中包含通配符"*"(匹配所有),也将不被缓存。

这些告诉我们在处理缓存方法,需要在程序处理时对内容加以针对性的实现,可以达到更好的缓存效果。

对于缓存内容需要加以区别对待,哪些内容不应该被缓存呢?

A、随时间变化的内容不应该被缓存;

B、取决于特定请求的内容不应该被缓存;

C、依赖于不被HTTP内容协商处理的请求的内容也不应该被缓存;

如果你有某些动态内容,它们的变化依赖于请求发起者的IP地址或者差不多每5分钟就会发生改变,那么这些内容毫无疑问是不应该被缓存的;另一方面,如果内容的变化依赖于各种HTTP头,更加明智的做法可能是通过使用"Vary"头进行缓存。

验证:动态页面是否被缓存了。2)mod_rewrite

5)mod_cband

6)mod_expires

7)mod_deflate

LoadModule defalte_module modules/mod_deflate.so

AddOutputFileByType DEFLATE text/plain

AddOutputFileByType DEFLATE text/xml

AddOutputFileByType DEFLATE text/css

AddOutputFileByType DEFLATE text/html

AddOutputFileByType DEFLATE image/svg+xml

AddOutputFileByType DEFLATE application/xhtml+xml AddOutputFileByType DEFLATE application/xml

AddOutputFileByType DEFLATE application/rss+xml AddOutputFileByType DEFLATE application/atom_xml AddOutputFileByType DEFLATE application/x-javascript AddOutputFileByType DEFLATE application/x-httpd-php AddOutputFileByType DEFLATE application/x-httpd-fastphp AddOutputFileByType DEFLATE application/x-httpd-eruby

SetOutputFilter DEFLATE

SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip don’t-vary SetEnvIfNoCase Request_URI \.(?:exe\t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.pdf$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.avi$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.mov$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.mp3$ no-gzip dont-vary

SetEnvIfNoCase Request_URI \.mp4$ no-gzip dont-vary SetEnvIfNoCase Request_URI \.rm$ no-gzip dont-vary

Windows server 2003-tomcat-apache-优化 配置

tomcat 优化设置 调增tomcat6响应池、创建高线程的Connector: 查找tomcat6安装目录下conf目录中的server.xml文件,进行编辑 屏蔽tomcat默认Connector: –> 改为: (注:加入响应线程数控制,加入压缩传递模式,调整超时设置,屏蔽调试模式) apache 优化 一、使用压缩传递 1) 去掉#LoadModule headers_module modules/mod_headers.so前面的注释# 2) 添加LoadModule deflate_module modules/mod_deflate.so 3) 在VirtualHost中添加 SetOutputFilter DEFLATE BrowserMatch ^Mozilla/4 gzip-only-text/html BrowserMatch ^Mozilla/4\.0[678] no-gzip BrowserMatch \bMSIE !no-gzip !gzip-only-text/html SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png)$ no-gzip dont-vary Header append Vary User-Agent env=!dont-vary 一个完整的演示:

LAMP(Linux+Apache+Mysql+PHP)优化技巧

LAMP(Linux+Apache+Mysql+PHP)优化技巧 [LAMP平台] LAMP这个词的由来最早始于德国杂志“c't Magazine”,Michael Kunze在1990年最先把这些项目组合在一起创造了LAMP的缩写字。这些组件虽然并不是开开始就设计为一起使用的,但是,这些开源软件都可以很方便的随时获得并免费获得。这就导致了这些组件经常在一起使用。在过去的几年里,这些组件的兼容性不断完善,在一起的应用情形变得非常普便。为了改善不同组件之间的协作,已经创建了某些扩展功能。目前,几乎在所有的Linux发布版中都默认包含了“LAMP stack”的产品。这些产品组成了一个强大的Web应用程序平台LAMP 平台由四个组件组成,呈分层结构。每一层都提供了整个软件栈的一个关键部分:Linux:Linux 处在最低层,提供操作系统。其他每个组件实际上也在Linux 上运行。但是,并不一定局限于Linux,如有必要,其他组件也可以在Microsoft® Windows®、Mac OS X 或UNIX® 上运行。 Apache:次低层是Apache,它是一个Web 服务器。Apache 提供可让用户获得Web 页面的机制。Apache 是一款稳定的、支持关键任务的服务器,Internet 上超过65%的网站都使用它作为Web 服务器。PHP 组件实际上是在Apache 中,动态页面可以通过Apache 和PHP 创建。 MySQL:MySQL 提供LAMP 系统的数据存储端。有了MySQL,便可以获得一个非常强大的、适合运行大型复杂站点的数据库。在Web 应用程序中,所有数据、产品、帐户和其他类型的信息都存放在这个数据库中,通过SQL 语言可以很容易地查询这些信息。 PHP:PHP 是一门简单而有效的编程语言,它像是粘合剂,可以将LAMP 系统所有其他的组件粘合在一起。您可以使用PHP 编写能访问MySQL 数据库中的数据和Linux 提供的一些特性的动态内容。 [检测工具] 为了得到完整的调试结果,建议你采用ApacheBench 或者httperf之类的软件。如果你对非LAMP 架构的服务器测试有兴趣的话,建议你采用微软的免费软件:Web Application Stress Tool(需要NT 或者2000)。(其它服务器测试工具)检测Apache ,采用top d 1 显示所有进程的CPU 和内存情况。另外,还采用apachectl status 命令 [硬件优化] 1、升级硬件的一般规则:对于PHP 脚本而言,主要的瓶颈是CPU ,对于静态页面而言,瓶颈是内存和网络。一台400 Mhz 的普通奔腾机器所下载的静态页面就能让T3 专线(45Mbps)饱和。 2、采用hdparm 来优化磁盘,一般能提升IDE 磁盘读写性能200%,但是对SCSI 硬盘也有效果。(不同类型的硬盘对比) [策略优化] 3、Apache 处理PHP 脚本的速度要比静态页面慢2-10 倍,因此尽量采用多的静态页面,少的脚本。 4、PHP 脚本如果不做缓冲,每次调用都需要编译,因此,安装一个PHP 缓冲产品能提升25-100% 的性能。 5、如果你采用了Linux 系统,建议升级内核到2.4,因为静态页面由内核服务。 6、另外一项缓冲技术是把不常修改的PHP 页面采用HTML 缓冲输出。 7、不要在Web 服务器上运行X-Windows ,关掉没有必要运行的进程。 8、如果能够用文本就不要用图像,尽量减小图片的尺寸。

Apache服务器配置实验报告

在Linux下配置Apache服务器 一、实验目的 完成本次实训,将能够: ●配置基本的Apache服务器 ●配置个人用户Web站点。 ●配置虚拟目录别名功能。 ●配置主机访问控制。 ●配置用户身份验证功能.。 ●配置基于IP地址的虚拟主机. 二、实验环境 1、RedHat Linux4AS. 2、Apache 2.0 三、实验内容 1.配置基本的Apache服务器 2.配置个人用户Web站点。 3.配置虚拟目录别名功能。 4.配置主机访问控制。 5.配置用户身份验证功能.。 6.配置基于IP地址的虚拟主机。 四、实验要求 在Linux操作系统下配置Apache服务器。 五、注意事项 1.在修配置文件下注意区分大小写、空格。 2.在每次重新开机后都必须启动Apachec服务器。 3.在每次修改完主配置文件后保存起来,必须重启Apachec服务器,如果不重启会 导致配置无效,最终导致实验失败。 六、实验步骤 1、检测是否安装了Apache软件包: A、首先为服务器网卡添加一个固定的IP地址。 B、在Web浏览器的地址栏中输入本机的IP地址,若出现Test Page测试页面(该 网页文件的默认路径为var/www/html/index.html)如下图1所示就说明Apache 已安装并已启动。

另一种方法是使用如下命令查看系统是否已经安装了Apache软件包: [root@rhe14~]# rpm –aq | grep httpd Httpd-suexec-2.0.52-9.ent Httpd-manual-2.0.52-9.ent System-config-httpd-1.3.1-1 Httpd-devel-2.0.52-9.ent 出现以上内容表明了系统已安装Apache软件包。 2、安装Apache软件包 超级用户(root)在图形界面下选择“应用程序”|“系统设置”|“添加/删除应用程序”命令,选择“万维网服务器”软件包组,在单击“更新”按钮就可以安装与Apache相关的软件包。 3、Apache的基本配置 (1)打开终端输入[root@rhe14~]# /etc/rc.d/init.d/httpd start //启动Apache 或者 [root@rhe14~]# apachectl start //启动Apache [root@rhe14~]# apachectl stop //停止Apache服务 [root@rhe14~]# apachectl restart //重启Apache服务 [root@rhe14~]# apachectl configtest //测试Apache服务器配置语法(2)在httpd.conf将Apache的基本配置参数修改、将一些注释的语句取消注释,或将某些不需要的参数注释掉。 (3)将包括index.html在内的相关网页文件复制到指定的Web站点根目下(var/www/html/index.html) (4)重启httpd进程 (5) 在Web浏览器下输入配置的ip地址出现如下图2,那表明基本配置成功了:

三大WEB服务器对比(apache_,lighttpd,nginx)

三大WEB服务器对比分析(apache ,lighttpd,nginx)一.软件介绍(apache lighttpd nginx) 1. lighttpd Lighttpd是一个具有非常低的内存开销,cpu占用率低,效能好,以及丰富的模块等特点。lighttpd 是众多OpenSource轻量级的web server中较为优秀的一个。支持FastCGI, CGI, Auth, 输出压缩(output compress), URL重写, Alias等重要功能。 Lighttpd使用fastcgi方式运行php,它会使用很少的PHP进程响应很大的并发量。 Fastcgi的优点在于: ·从稳定性上看, fastcgi是以独立的进程池运行来cgi,单独一个进程死掉,系统可以很轻易的丢弃,然后重新分配新的进程来运行逻辑. ·从安全性上看, fastcgi和宿主的server完全独立, fastcgi怎么down也不会把server搞垮, ·从性能上看, fastcgi把动态逻辑的处理从server中分离出来, 大负荷的IO处理还是留给宿主server, 这样宿主server可以一心一意作IO,对于一个普通的动态网页来说, 逻辑处理可能只有一小部分, 大量的图片等静态IO处理完全不需要逻辑程序的参与(注1) ·从扩展性上讲, fastcgi是一个中立的技术标准, 完全可以支持任何语言写的处理程序(php,java,python...) 2.apache apache是世界排名第一的web服务器, 根据netcraft(https://www.360docs.net/doc/a611739049.html,)所作的调查,世界上百分之五十以上的web服务器在使用apache. 1995年4月, 最早的apache(0.6.2版)由apache group公布发行. apache group 是一个完全通过internet进行运作的非盈利机构, 由它来决定apache web服务器的标准发行版中应该包含哪些内容. 准许任何人修改隐错, 提供新的特征和将它移植到新的平台上, 以及其它的工作. 当新的代码被提交给apache group时, 该团体审核它的具体内容, 进行测试, 如果认为满意, 该代码就会被集成到apache的主要发行版中. apache 的特性: 1) 几乎可以运行在所有的计算机平台上. 2) 支持最新的http/1.1协议 3) 简单而且强有力的基于文件的配置(httpd.conf). 4) 支持通用网关接口(cgi) 5) 支持虚拟主机.

LinuxApacheWeb服务器配置教程

LinuxApacheWeb服务器配置教程 Linux阿帕奇网络服务器配置教程 阿帕奇的主要特点 根据著名的万维网服务器研究公司进行的一项调查,全世界50%以上的万维网服务器使用阿帕奇,排名世界第一。 阿帕奇的出生非常戏剧化。当NCSA万维网服务器项目停止时,那些使用NCSA万维网服务器的人开始用他们的补丁来交换服务器,他们很快意识到有必要建立一个论坛来管理这些补丁。就这样,阿帕奇集团诞生了,后来这个集团在NCSA的基础上建立了阿帕奇。 阿帕奇的主要特点是: 。可以在所有计算机平台上运行; 。支持最新的HTTP 1.1协议; 简单而强大的基于文件的配置; 。支持通用网关接口CGI 。支持虚拟主机; 。支持HTTP认证; 。集成的Perl脚本编程语言; 。集成代理服务器; 。拥有可定制的服务器日志;。支持服务器端包含命令。支持安全套接字层。用户会话过程的跟踪能力;支持FastCGI。支持Java小服务程序。 安装Apache流程

安装Apache 接下来,我们将开始征服阿帕奇的漫长旅程。我们将一步一步地学习使用Apache,从介绍到掌握,通过需求的一步一步的例子。 系统需求 运行Apache不需要太多的计算资源。它运行良好的Linux系统有6-10MB的硬盘空间和8 MB的内存。然而,单独运行Apache可能不是您想要做的。更有可能的是,您希望运行Apache来提供WWW服务,启动CGI流程,并充分利用WWW所能提供的所有惊人功能。在这种情况下,您需要提供额外的磁盘空间和内存空间来反映负载要求。换句话说,它不需要太多的系统资源来启动WWW服务,但是它需要更多的系统资源来为大量的客户提供服务。获取软件 你可以呆在 错误日志命令用于指定错误日志文件名和路径。 命令格式:错误日志[日志文件名] 示例:错误日志/var/ srm.conf Srm.conf是一个资源配置文件,它告诉服务器您想在WWW站点上提供什么资源,在哪里以及如何提供这些资源。 DocumentRoot命令指定主文档的地址。 命令格式:文档根[路径] 示例:文档根目录/主页/ UserDir命令,用于指定个人主页的位置。如果你有一个用户测试,

Apache2.2安全配置和性能优化

Apache2.2安全配置和性能优化 一、Apache禁止目录遍历 将Options Indexes FollowSymLinks中的Indexes 去掉,就可以禁止Apache 显示该目录结构。Indexes 的作用就是当该目录下没有index.html文件时,就显示目录结构。 二、apache 隐藏版本信息 1.隐藏Apache版本信息 测试默认apache 的状态信息 [root@1314it conf]# curl -Is localhost HTTP/1.1 200 OK Date: Tue, 16 Nov 2010 04:20:15 GMT Server: Apache/2.2.3 (CentOS) DAV/2 PHP/5.1.6 mod_perl/2.0.4 Perl/v5.8.8 X-Powered-By: PHP/5.1.6 Connection: close Content-Type: text/html; charset=GB2312 [root@1314it conf]# 修改主配置文件httpd.conf ServerSignature Off ServerTokens Prod 重启apache 测试 测试隐藏版本号后apache 的状态信息 [root@1314it conf]# curl -Is localhost HTTP/1.1 200 OK Date: Tue, 16 Nov 2010 04:21:41 GMT Server: Apache X-Powered-By: PHP/5.1.6 Connection: close Content-Type: text/html; charset=GB2312

Linux下Apache服务器的安装和配置

【实验8】Apache服务器的安装和配置 一、实验目的: 1.掌握Apache Web服务器的安装和配置。 2.使用虚拟主机在同一台服务器上架设多个网站。 二、【实验环境】 1.虚拟机软件VM Ware 6.0,Redhat Enterprise Linux虚拟机或光盘镜像文 件。 2.2台以上机器组成的局域网。 三、【实验原理】 (一)Apache服务简介 Apache是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上。 Apache源于NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web 服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。 (二)虚拟主机 所谓虚拟主机,也叫“网站空间”就是把一台运行在互联网上的服务器划分成 多个“虚拟”的服务器,每一个虚拟主机都具有独立的域名和完整的Internet服务 器(支持WWW、FTP、E-mail等)功能。一台服务器上的不同虚拟主机是各自 独立的,并由用户自行管理。 虚拟主机技术是互联网服务器采用的节省服务器硬体成本的技术,虚拟主机 技术主要应用于HTTP服务,将一台服务器的某项或者全部服务内容逻辑划分 为多个服务单位,对外表现为多个服务器,从而充分利用服务器硬体资源。如果 划分是系统级别的,则称为虚拟服务器。

(三)Linux中虚拟主机的分类 1、基于IP地址的虚拟主机 如果某公司有多个独立的IP地址可用,那么可以用不同的IP地址来配置虚拟主机。 2、基于端口的虚拟主机 如果只有一个IP地址,但是要架设多个站点,可以使用端口来区分,每个端口对应一个站点。这样配置的话,用户在访问的时候必须在 URL中指明端口号才能访问相应的网站。 3、基于名称的虚拟主机 使用基于IP地址或者端口的虚拟主机,能够配置的站点数目有限,而使用基于名称的虚拟主机,可以配置任意数目的虚拟主机,而不需要 额外的IP地址,也不需要修改端口号。 四、实验步骤 本实验请勿使用【系统】→【管理】→【服务器设置】中的【HTTPD】工具来配置,否则后果自负! (一)Apache服务器的启动 1、测试是否已安装Apache服务器: [root@localhost ~]#rpm –qa httpd 2、启动Apache服务器: [root@localhost ~]#service httpd start (二)基于端口的虚拟主机的配置 1、在/etc/httpd目录中,建立一个名为vhostconf.d的子目录,用来存放虚拟 主机的配置文件。 2、在/var/www目录中,建立一个名为websites的子目录,用于存放网站源 文件;在website目录下再建立ipvhost1和ipvhost2文件夹,用于区分各 个站点。

apache优化

mod_jk的优化配置 Optimal mod_jk configuration There are many potential problems associated with the default configuration of mod_jk. Let's say it is perfectly adequate for a very low traffic website, but when pushing any moderate to high load to mod_jk, there will be connection problems. This is not due to any bug in mod_jk whatsoever, however, it is because the default configuration makes no assumption about your existing hardware or potential load, so, therefore, it is not tuned accordingly. Note that the configuration recommendations here are optimal as a base configuration to avoid many of the common problems users experience with mod_jk. There exist many other useful optimizations, but these depend on the environment and web application in use. See https://www.360docs.net/doc/a611739049.html,/connectors-doc/reference/workers.html for details on all available mod_jk properties. Let's take a look at a typical default configuration for Apache/Tomcat/mod_jk: workers.properties worker.list=loadbalancer,status worker.node1.port=8009 worker.node1.host=https://www.360docs.net/doc/a611739049.html, worker.node1.type=ajp13 worker.node1.lbfactor=1 worker.node2.port=8009 worker.node2.host= https://www.360docs.net/doc/a611739049.html, worker.node2.type=ajp13 worker.node2.lbfactor=1 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=node1,node2 worker.status.type=status JBoss Web's (Tomcat) server.xml AJP snippet: Apache's httpd.conf: StartServers 8 MinSpareServers 5

Apache服务器的安装与配置

Apache服务器的安装与配置 一、安装Apache 双击可执行文件apache_1.3.33-win32-x86-no_src.exe,将Apache服务器软件安装至C:\Apache目录下。 二、设置C:\apache\conf\httpd.donf文件 修改Apache的核心配置文件c:\apache\conf\httpd.conf(说明一点:“#”为Apache的注释符号)。修改方法如下: 1、寻找到ServerName。这里定义你的域名。这样,当Apache Server运行时,你可以在浏览器中访问自己的站点。如果前面有#,记得删除它。 2、寻找到ServerAdmin。这里输入你的E-Mail地址。 (以上两条在安装时应该已经配置好了,所以不必改动,这里介绍一下,主要是为了日后的修改) 3、寻找到。向下有一句Options,去掉后面所有的参数,加一个All(注意区分大小写!A 大写,两个l小写。下同。);接着还有一句Allow Override,也同样去掉后面所有的参数,加一个All。 AllowOverride All Options All Order allow,deny Allow from all 4、寻找到DocumentRoot。这个语句指定你的网站路径,也就是你主页放置的目录。你可以使用默认的,也可以自己指定一个,但记住,这句末尾不要加“/”。此外注意,路径的分隔符在Apache Server里写成“/”。(将DocumentRoot "C:/apache/htdocs"改为DocumentRoot "C:/try") 5、寻找到DirectoryIndex。这就是你站点第一个显示的主页,在index.html的后面加入index.htm index.php index.php3 index.cgi index.pl。注意,每种类型之间都要留一空格!这里添加好了,以后就不用再麻烦了。 6、port(端口号),如果没安装IIS的话,就保持80不要变,否则,就要改一下(因为IIS的WEB服务占据了80),可以改成81等等。 三、Apache的手动启动和停止 Net start apache启动apache服务,Net stop apache停止apache服务。

Apache服务器配置技巧

1、如何设置请求等待时间 在httpd.conf里面设置: TimeOut n 其中n为整数,单位是秒。 设置这个TimeOut适用于三种情况: 2、如何接收一个get请求的总时间 接收一个post和put请求的TCP包之间的时间 TCP包传输中的响应(ack)时间间隔 3、如何使得apache监听在特定的端口 修改httpd.conf里面关于Listen的选项,例如: Listen 8000 是使apache监听在8000端口 而如果要同时指定监听端口和监听地址,可以使用: Listen 192.170.2.1:80 Listen 192.170.2.5:8000 这样就使得apache同时监听在192.170.2.1的80端口和192.170.2.5的8000端口。 当然也可以在httpd.conf里面设置: Port 80 这样来实现类似的效果。 4、如何设置apache的最大空闲进程数 修改httpd.conf,在里面设置: MaxSpareServers n 其中n是一个整数。这样当空闲进程超过n的时候,apache主进程会杀掉多余的空闲进程而保持空闲进程在n,节省了系统资源。如果在一个apache非常繁忙的站点调节这个参数才是必要的,但是在任何时候把这个参数调到很大都不是一个好主意。 同时也可以设置: MinSpareServers n 来限制最少空闲进程数目来加快反应速度。 5、apache如何设置启动时的子服务进程个数 在httpd.conf里面设置: StartServers 5 这样启动apache后就有5个空闲子进程等待接受请求。 也可以参考MinSpareServers和MaxSpareServers设置。 6、如何在apache中设置每个连接的最大请求数 在httpd.conf里面设置: MaxKeepAliveRequests 100 这样就能保证在一个连接中,如果同时请求数达到100就不再响应这个连接的新请求,保证了系统资源不会被某个连接大量占用。但是在实际配置中要求尽量把这个数值调高来获得较高的系统性能。 7、如何在apache中设置session的持续时间 在apache1.2以上的版本中,可以在httpd.conf里面设置: KeepAlive on KeepAliveTimeout 15 这样就能限制每个session的保持时间是15秒。session的使用可以使得很多请求都可以通过同一个tcp

iOS应用性能调优的25个建议和技巧

性能对iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而由于iOS设备的限制,有时搞好性能是一件难事。开发过程中你会有很多需要注意的事项,你也很容易在做出选择时忘记考虑性能影响。 这正是我写下这篇文章的原因。这篇文章以一个方便查看的核对表的形式整合了你可以用来提升你app性能的25条建议和技巧。 请耐心读完这篇文章,为你未来的app提个速! 注意:每在优化代码之前,你都要注意一个问题,不要养成”预优化”代码的错误习惯。时常使用Instruments去profile你的代码来发现需要提升的方面。Matt Galloway写过一篇很棒的如何利用Instruments来优化代码的文章。 还要注意的是,这里列出的其中一些建议是有代价的,所建议的方式会提升app的速度或者使它更加高效,但也可能需要花很多功夫去应用或者使代码变得更加复杂,所以要仔细选择。 目录 我要给出的建议将分为三个不同的等级:入门级、中级和进阶级: 入门级(这是些你一定会经常用在你app开发中的建议) ? 1. 用ARC管理内存 ? 2. 在正确的地方使用reuseIdentifier ? 3. 尽可能使Views透明 ? 4. 避免庞大的XIB ? 5. 不要block主线程 ? 6. 在Image Views中调整图片大小 ?7. 选择正确的Collection ?8. 打开gzip压缩 中级(这些是你可能在一些相对复杂情况下可能用到的) ?9. 重用和延迟加载Views

?10. Cache, Cache, 还是Cache! ?11. 权衡渲染方法 ?12. 处理内存警告 ?13. 重用大开销的对象 ?14. 使用Sprite Sheets ?15. 避免反复处理数据 ?16. 选择正确的数据格式 ?17. 正确地设定Background Images ?18. 减少使用Web特性 ?19. 设定Shadow Path ?20. 优化你的Table View ?21. 选择正确的数据存储选项 进阶级(这些建议只应该在你确信他们可以解决问题和得心应手的情况下采用) ?22. 加速启动时间 ?23. 使用Autorelease Pool ?24. 选择是否缓存图片 ?25. 尽量避免日期格式转换 无需赘述,让我们进入正题吧~ 初学者性能提升 这个部分致力于一些能提高性能的基本改变。但所有层次的开发者都有可能会从这个记录了一些被忽视的项目的小小的性能备忘录里获得一些提升。 1. 用ARC管理内存 ARC(Automatic Reference Counting, 自动引用计数)和iOS5一起发布,它避免了最常见的也就是经常是由于我们忘记释放内存所造成的内存泄露。它自动为你管理retain和release的过程,所以你就不必去手动干预了。 下面是你会经常用来去创建一个View的代码段: 1 2 3 4 UIView *view = [[UIView alloc] init]; // ... [self.view addSubview:view]; [view release]; 忘掉代码段结尾的release简直像记得吃饭一样简单。而ARC会自动在底层为你做这些工作。

网站的优化和推广策划方案

网站的优化和推广策划方案和举例 1、网站优化 将诊断报告中所提到有问题的地方加以解决,使网站达到健康的状态。健康的网站是搜索引擎优化的基础。详细请见网站诊断报告。 2、分析客户需求,制定目标关键词及拓展关键词 根据客户的主营业务,制定主关键词和拓展关键词。关键词定位是非常重要的一个环节,如果可以,尽量避免超级火暴的词,根据企业情况,定位于目标客户制定最合理的关键词,多拓展些更具专业性的词,真正将流量转化为企业客户。 3、分析对手的网站及动向 多分析竞争对手成功与失败的经验,少走弯路。如:对手的网站分析(关键词排名、导入链接等),推广分析(点击广告等),吸取有利的方面完善自己。还有不可忽视的就是那些发展非常快的潜在竞争对手。 4、树立企业形象 企业要发展,自身形象是不可缺少的,企业好的形象可以增加客户的信任度。网络是自由的世界,很可能存在恶意攻击,所以,出现各种评论也是很正常的。但如果任由反面报道肆意评价的话,长此以往企业的形象会大打折扣,也会减弱客户的信任度。正面的要发扬,反面的要反省,如果真的存在问题要马上改正。 5、使客户的网站活跃起来 要把企业的主营业务、主要产品一目了然的展现在用户面前,使

用户在第一时间就能了解企业和企业的产品,但也不要一味地把网站当成是一种宣传工具,还要把网站看成是与用户交流的平台。 6、流量统计分析 确定客户通过什么方式、什么关键词找到的企业,以及各关键词的使用频率等,方便下一步改进工作。 7、提交优化报告 定期向客户提交搜索引擎优化报告,经常与客户保持沟通。内容包括:网站的优化程度、特定关键词的排名情况、网站流量统计数据等信息。还要从客户那里听取反馈意见,以便确定优化方向的正确与否。 8、网站的日常维护 要告诉客户,网站的内容不在于越多越好,而在于“精”。使用户每次都能看到最新、最关心的信息,应在明显的地方设立“问题申报平台”,而且要提高审核效率,争取第一时间回复用户关心的问题。 9、网站优化解决方案 中记传媒通过对网站结构、网页布局、网站功能、网站内容等要素的合理设计和维护,使网站内容和表现形式对用户更加友好;并符合搜索引擎检索排序规则,使网站在搜索结果里取得更好排名。从而充分发挥网站的网络营销价值。中记传媒反对片面追求提高搜索结果排名,采用过度优化、作弊的方式,提倡合理优化,正规优化。 中记传媒根据客户的规模和要求不同提供多种网站优化解决方案: 普通客户推荐:营销型网站推广方案

apache服务配置

Apache 安装后启动然后配置即可.记得开启80 端口. iptables –I INPUT –p tcp –dport 80 –j ACCEPT 开启tcp 80 端口 apache 的配置文件: httpd.conf 路径: /etc/httpd/conf/httpd.conf DocumentRoot “/var/www/html”设置主目录的路径 DirectoryIndex index.html index.html.var 设置默认主文档,中间用空格格开 Listen 80 Listen 192.168.1.1:80 设置apache监听的IP地址和端口号,可添加多个 ServerRoot “/etc/httpd”设置相对根目录的路径(存放配置文件和日志文件) ErrorLog Logs/error_log 设置错误日志存放路径 CustomLog Logs/access_log combined (日志格式) 设置访问日志存放路径 如果日志文件存放路径不是以”/”开头,则意味着该路径相对于ServerRoot 的相对路径. ServerAdmin 邮箱地址{设置管理员的E-mail地址 ServerName FQDN名或IP地址{设置服务器主机名 由于Apache默认字符集为西欧(UTF-8),所以客户端访问中文网页时会出现乱码. 将语句“AddDefaultCharset UTF-8”改为“AddDefaultCharset GB2312”方可解决,不过要重新启动Apache服务. 修改完默认字符集后,客户端如需访问,要先清空浏览器的缓存.

创建虚拟目录,添加Alias语句即可 Alias /ftp “/var/ftp”Alias 虚拟目录名物理路径 Options Indexes 定义目录特性 AllowOverride None 一般这样写就行 Order allow,deny 设置访问权限 Allow from all 允许所有用户访问 要实现虚拟目录用户认证,首先要建立保存用户名和口令的文件 htpasswd -c /etc/httpd/mysecretpwd (文件名) text (用户) -c 选项表示无论口令文件是否已经存在,都会重新写入文件并删去原有内容.所以在添加第二个用户到口令文件时,就不需要使用-c 选项了. Alias /ftp “/var/ftp” AuthType Basic 设定认证类型,Basic最常用AuthName “This is a private directory. Please Login:”辛苦点,全背上吧. AuthUserFile /etc/httpd/mysecretpwd 定义口令文件路径Require user text(用户) 定义允许哪些用户可以访问

最新整理Linux Apache Web服务器安全设置技巧

L i n u x A p a c h e W e b服务器安全设置技巧 网络安全是目前互联网的热门话题之一,作为个人用户的我们同样需要关注,做好防护。这篇文章主要介绍了L i n u x A p a c h e W e b服务器安全的8种安全设置技巧,需要的朋友可以参考下 方法步骤 第一、定期更新系统 首先,我们需要确保是已经安装了最新版本和 A p a c h e的安全补丁和附加如C G I,P e r l和P H P脚本代码。我们需要定期更新数据源依赖包操作。 #U b u n t u/D e b i a n a p t-g e t u p d a t e;a p t-g e t d i s t-u p g r a d e #F e d o r a/C e n t o s/R e d H a t y u m u p d a t e 根据自己的系统环境选择更新升级命令。 第二、设置和保护我们的S S H安全 我们在拿到V P S之后,建议修改端口、R O O T密码、以及授权单独的非R O O T用户权限管理,或者我们也可 以采用密钥的方式登录S S H客户端管理V P S。比如可以参考设置P u t t y S S H使用密钥登录L i n u x V P S主机和

X s h e l l设置密钥登录确保L i n u x V P S及服务器更加安全文章设置密钥登陆。 第三、禁用未使用的服务 为了确保我们的W e b服务器安全,建议你检查服务器上所有正在运行的服务和开放的端口,禁用我们不需要在服务器上的所有服务。 #要显示所有服务 s e r v i c e--s t a t u s-a l l #显示所有的端口规则 i p t a b l e s-L #显示所有的运行信息 (r e d h a t/c e n t o s/f e d o r a)c h k c o n f i g--l i s t #检查/e t c/i n i t.d是否有可疑脚本 l s /e t c/i n i t.d 第四、禁用不必要的A p a c h e模块 默认情况下,A p a c h e很多模块都开启的,但是有些并不需要使用,我们可以关闭和精简。比如以前有分享过的6步骤实现C e n t O S系统环境精简优化和4步骤实现D e b i a n系统环境精简优化可以有效的提高执行效率降低占用资源率。 A-U b u n t u/D e b i a n c a t/e t c/a p a c h e2/m o d s- e n a b l e d/*|g r e p-i l o a d m o d u l e

Apache服务器配置毕业设计

A p a c h e服务器配置毕 业设计 目录 摘要 ................................................................................................................ 错误!未定义书签。 1 综述 (1) 1.1 架设WWW网站的意义 (1) 1.2 WWW的工作原理 (1) 1.3 在Linux下构建WWW服务器 (2) 1.3.1 关于硬件配置 (2) 1.3.2 将linux用作www服务器 (2) 2 Red Hat Linux的安装与使用 (4) 2.1 Red Hat Linux9.0简介 (4) 2.1.1 Red Hat Linux的网络功能 (6) 2.1.2 Red Hat Linux的文件类型 (9) 2.2 Red Hat Linux9.0的安装和配置 (11) 2.2.1 合理划分分区 (11) 2.2.2 了解相关信息 (12) 2.2.3 图形化安装过程 (13) 3 WWW服务器的建立 (27) 3.1 Apache的体系结构及性能 (27) 3.1.1 Apache的体系结构 (27) 3.1.2 Apache性能简介 (28) 3.2 配置并启动Apache (31) 3.2.1 配置文件httpd.conf (31) 3.2.2 Apache服务的安装、启动与停止 (32) 3.3 设置用户个人主页 (33) 3.3.1设置Linux系统用户个人主页的目录 (33) 3.3.2设置用户个人主页所在目录的访问权限 (33) 3.4 设置虚拟主机 (34) 3.4.1 配置DNS (34) 4 建立和完善WWW站点 (42) 4.1建立安全传输的WWW站点 (42) 4.1.1认识SSL安全协议 (42) 4.1.2 维护站点安全性应注意的问题 (42) 5 结论 (44) 致谢 ................................................................................................................ 错误!未定义书签。参考文献.. (45) 8

web系统性能优化

WEB站点性能优化 由于较少的接触WAP站点的建设,缺乏类似站点的建设经验,导致后期的性能问题成了影响项目交付的较严重的因素。 经过后面深入的了解,发现浏览器在访问网站的过程中,有很多地方可以进行性能优化处理。案例分析: 首先,我们先来了解一下客户端(这里指终端浏览器)访问服务器的全过程。 以火狐3.6.8浏览器为例(图例来自火狐浏览插件firebug截图) 从上图可以看出,该页面前后一共向后台发送了6次请求,即建立6次连接。 ●过程一:第1次请求,url地址请求服务器,获得相应的页面html,该次请求需要服务器相 应的业务逻辑处理然后生成页面,花费的时间稍长。 ●过程二:第2、3次请求,终端浏览器接收到请求的html页面后,需要请求页面引入的外部 资源(如css样式,js脚本,图片等),此时请求过程是并行连接。 ●过程三:第4、5、6次请求,终端浏览器接收到css样式资源后,需要为css中引入的其他外 部资源(图片较为常见)再次发送请求,所有的图片请求也是并行连接,与此同时也会进行页面的渲染工作。

另外,过程二、过程三中提到的并行连接,在各种不同浏览器中体现出来的能力也不一样。 下图显示了每个支持当前的浏览器为HTTP/1.1中以及HTTP/1.0的服务器最大连接数。 简化的浏览器响应时间的计算模型: 终端用户响应时间= 页面下载时间+ 服务器响应时间+ 浏览器处理及渲染时间 页面下载时间= 页面大小/ 网络带宽+ (网络延迟×HTTP 请求数)/ 并发度 所以如果我们可以通过监听互联网应用的网络传输行为得到页面大小、HTTP 请求数、并发度、服务器响应时间和浏览器处理及渲染时间,那么我们就可以推测这个应用在任意网络环境下的终端用户响应时间 优化思路 从上面公式中可以看出,网络带宽、网络延迟由网络环境决定,是系统不可控的,并发度是终端浏览器本身具备的能力,也是系统不可控的。余下的公式参数页面尺寸,HTTP请求数则是我们需要找寻的突破点,我们可以从如下几个方向着手。 1. 减少连接次数 终端浏览器响应的时间中,有80%用于下载各项内容。这部分时间包括下载页面中的图像、样式表、脚本、Flash等。通过减少页面中的元素可以减少HTTP请求的次数。这是提高网页速度的关键步骤。 合并文件 是通过把所有的脚本放到一个文件中来减少HTTP请求的方法,如可以简单地把所有的CSS 文件都放入一个样式表中。当脚本或者样式表在不同页面中使用时需要做不同的修改,这可能会相对麻烦点,但即便如此也要把这个方法作为改善页面性能的重要一步。 CSS Sprites 是减少图像请求的有效方法。把所有的背景图像都放到一个图片文件中,然后通过CSS的background-image和background-position属性来显示图片的不同部分;

相关文档
最新文档