该httpd.conf文件是 Apache Web 服务器的主要配置文件。 有许多选项,阅读 Apache 附带的文档以获取有关不同设置和参数的更多信息非常重要。 以下配置示例是 Apache 的最小工作配置文件,并支持 SSL。 此外,重要的是要注意,我们仅注释与安全和优化相关的参数,并将所有其他参数留给您自行研究。
编辑httpd.conf文件,vi/etc/httpd/conf/httpd.conf并添加/更改
### Section 1: Global Environment
#
ServerType standalone
ServerRoot "/etc/httpd"
PidFile /var/run/httpd.pid
ResourceConfig /dev/null
AccessConfig /dev/null
Timeout 300
KeepAlive On
MaxKeepAliveRequests 0
KeepAliveTimeout 15
MinSpareServers 16
MaxSpareServers 64
StartServers 16
MaxClients 512
MaxRequestsPerChild 100000
### Section 2: 'Main' server configuration
#
Port 80
<IfDefine SSL>
Listen 80
Listen 443
</IfDefine>
User www
Group www
ServerAdmin admin@openna.com
ServerName www.openna.com
DocumentRoot "/home/httpd/ona"
<Directory />
Options None
AllowOverride None
Order deny,allow
Deny from all
</Directory>
<Directory "/home/httpd/ona">
Options None
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Files .pl>
Options None
AllowOverride None
Order deny,allow
Deny from all
</Files>
<IfModule mod_dir.c>
DirectoryIndex index.htm index.html index.php index.php3 default.html index.cgi
</IfModule>
#<IfModule mod_include.c>
#Include conf/mmap.conf
#</IfModule>
UseCanonicalName On
<IfModule mod_mime.c>
TypesConfig /etc/httpd/conf/mime.types
</IfModule>
DefaultType text/plain
HostnameLookups Off
ErrorLog /var/log/httpd/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
SetEnvIf Request_URI \.gif$ gif-image
CustomLog /var/log/httpd/access_log combined env=!gif-image
ServerSignature Off
<IfModule mod_alias.c>
ScriptAlias /cgi-bin/ "/home/httpd/cgi-bin/"
<Directory "/home/httpd/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
</IfModuleGT;
<IfModule mod_mime.c>
AddEncoding x-compress Z
AddEncoding x-gzip gz tgz
AddType application/x-tar .tgz
</IfModule>
ErrorDocument 500 "The server made a boo boo.
ErrorDocument 404 http://192.168.1.1/error.htm
ErrorDocument 403 "Access Forbidden -- Go away.
<IfModule mod_setenvif.c>
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
</IfModule>
### Section 3: Virtual Hosts
#
<IfDefine SSL>
AddType application/x-x509-ca-cert .crt
AddType application/x-pkcs7-crl .crl
</IfDefine>
<IfModule mod_ssl.c>
SSLPassPhraseDialog builtin
SSLSessionCache dbm:/var/run/ssl_scache
SSLSessionCacheTimeout 300
SSLMutex file:/var/run/ssl_mutex
SSLRandomSeed startup builtin
SSLRandomSeed connect builtin
SSLLog /var/log/httpd/ssl_engine_log
SSLLogLevel warn
</IfModule>
<IfDefine SSL>
<VirtualHost _default_:443>
DocumentRoot "/home/httpd/ona"
ServerName www.openna.com
ServerAdmin admin@openna.com
ErrorLog /var/log/httpd/error_log
SSLEngine on
SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
SSLCACertificatePath /etc/ssl/certs
SSLCACertificateFile /etc/ssl/certs/ca.crt
SSLCARevocationPath /etc/ssl/crl
SSLVerifyClient none
SSLVerifyDepth 10
SSLOptions +ExportCertData +StrictRequire
SetEnvIf User-Agent ".*MSIE.*" nokeepalive ssl-unclean-shutdown
SetEnvIf Request_URI \.gif$ gif-image
CustomLog /var/log/httpd/ssl_request_log \
"%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" env=!gif-image
</VirtualHost>
</IfDefine>
|
这告诉httpd.conf文件为此特定配置设置自身,使用
选项ServerType指定 Apache 应如何在系统上运行。 您可以从超级服务器 inetd 运行它,也可以作为独立守护程序运行。 强烈建议以独立类型运行 Apache,以获得更好的性能和速度。
选项ServerRoot指定 Apache 服务器的配置文件所在的目录。 它允许 Apache 知道在启动时在哪里可以找到其配置文件。
选项PidFile指定服务器将在启动时记录守护程序的进程 ID 的位置。 仅当您在独立模式下配置 Apache 时,此选项才是必需的。
选项ResourceConfig指定旧的srm.conf文件,Apache 在完成读取httpd.conf文件后读取。 当您将位置设置为/dev/null,Apache 允许您在此文件中包含此文件的内容httpd.conf文件中,这样,您就只有一个文件来处理所有配置参数,以简化操作。
选项AccessConfig指定旧的access.conf文件,Apache 在完成读取srm.conf文件后读取。 当您将位置设置为/dev/null,Apache 允许您在此文件中包含此文件的内容httpd.conf文件中,这样,您就只有一个文件来处理所有配置参数,以简化操作。
选项Timeout指定 Apache 将等待 GET、POST、PUT 请求和传输确认的时间量。 您可以安全地将此选项保留为默认值。
选项KeepAlive,如果设置为On,指定在此 Web 服务器上启用持久连接。 为了获得更好的性能,建议将此选项设置为On,并允许每个连接多个请求。
选项MaxKeepAliveRequests指定当KeepAlive上面的选项设置为On。当此选项的值设置为0时,服务器上允许无限制的请求。 为了服务器性能,建议允许无限制的请求。
选项KeepAliveTimeout指定 Apache 在关闭连接之前等待后续请求的时间(以秒为单位)。15秒是服务器性能的良好平均值。
选项MinSpareServers指定 Apache 的空闲子服务器进程的最小数量,这些进程不处理请求。 这是关于 Apache Web 服务器性能的重要调整参数。 对于高负载操作,建议值为16,这是互联网上各种基准测试推荐的值。
选项MaxSpareServers指定 Apache 的空闲子服务器进程的最大数量,这些进程不处理请求。 这也是关于 Apache Web 服务器性能的重要调整参数。 对于高负载操作,值为64,这是互联网上各种基准测试推荐的值。
选项StartServers指定 Apache 在启动时将创建的子服务器进程的数量。 这再次是关于 Apache Web 服务器性能的重要调整参数。 对于高负载操作,值为16,这是互联网上各种基准测试推荐的值。
选项MaxClients指定 Apache 可以支持的并发请求数。 这也是关于 Apache Web 服务器性能的重要调整参数。 对于高负载操作,值为512,这是互联网上各种基准测试推荐的值。
选项MaxRequestsPerChild指定单个子服务器进程将处理的请求数。 这也是关于 Apache Web 服务器性能的重要调整参数。
选项User指定 Apache 服务器将以其身份运行的 UID。 创建一个对系统具有最小访问权限的新用户非常重要,该用户的功能仅用于运行 Web 服务器守护程序。
选项Group指定 Apache 服务器将以其身份运行的 GID。 创建一个对系统具有最小访问权限的新组非常重要,该组的功能仅用于运行 Web 服务器守护程序。
选项DirectoryIndex指定 Apache 用作预先编写的 HTML 目录索引的文件。 换句话说,如果 Apache 找不到要显示的默认索引页面,它将尝试此参数中的下一个条目(如果可用)。 为了提高 Web 服务器的性能,建议首先列出您网站最常用的默认索引页面。
选项Include指定可以从服务器配置文件中包含的其他文件的位置httpd.conf。 在我们的例子中,我们包含mmap.conf文件,位于/etc/httpd/conf目录。 此文件mmap.conf将文件映射到内存中以加快服务速度。 有关更多信息,请参阅关于 优化 Apache 的章节。
选项HostnameLookups,如果设置为Off,指定禁用 DNS 查找。 建议将此选项设置为Off,以便节省网络流量时间并提高 Apache Web 服务器的性能。