Apache 的配置由httpd.conf 文件配置( 如你安装Apache 在/www 下,则配置文件httpd.conf 在/www/conf 文件夹下) ,因此下面的配置指令都是在httpd.conf 文件中修改。
主站点的配置
(1) 基本配置:
①ServerRoot "/mnt/software/apache2" # 服务器的安装基础目录。
【说明】该参数设置了服务器所在的目录。一般来说它将包含conf/ 和logs/ 子目录。其它配置文件的相对路径都基于此目录 ( 比如Include 或LoadModule) 。
例如:
ServerRoot /etc/httpd
②PidFile logs/httpd.pid # 第一个httpd 进程( 所有其他进程的父进程) 的进程号文件位置。
如果指定的不是绝对路径,那么将视为基于ServerRoot 的相对路径。
示例:PidFile /var/run/apache.pid
【说明】这个文件通常用来给服务器父进程发送一个信号,用于关闭或重启服务器,以便重新打开ErrorLog 和TransferLog 文件、重新读取配置文件。
③Listen 80 # 服务器监听IP 地址和端口。
【说明】Listen 参数是指Apache 服务器在指定的IP 地址和端口上进行监听;默认情况下Apache 会在所有IP 地址上监听。Listen 是一个必须设置的指令。如果在配置文件中找不到这个指令,服务器将无法启动。
Listen 参数还可以指定服务器在哪个端口或地址和端口的组合上进行监听请求。如果只指定一个端口,服务器将在所有地址上监听该端口。如果指定了地址和端口的组合,服务器将按照指定地址和指定的端口进行监听。
使用多个Listen 参数可以指定多个不同的监听端口和/ 或地址端口组合。
例如 : 1 、 想要服务器接受80 和8080 端口上的请求,可以这样设置:
Listen 80
Listen 8080
2 、为了让服务器在两个确定的地址端口组合上接受请求,可以这样设置:
Listen 192.64.182.1:80
Listen 192.64.182.5:8080
注意: 多个Listen 指令指定了同一个地址和端口的组合后,会导致"Address already in use" 错误。
④ServerName www.iyunv.net:80 # 主站点名称(网站的主机名)。
⑤ServerAdmin admin@iyunv.net # 服务器返回给客户端的错误信息中所包含的管理员邮件地址。
【说明】该参数是在所有返回给客户端的错误信息中给出管理员的邮件地址。但也可以是一个URL 地址,如果httpd 不能将该参数的值识别为URL ,它就会假定它是一个email-address ,并在超连接中用在mailto 后面。这里推荐配置一个Email 地址, 如果配置的是URL 一定要保证指向一个受控制的服务器,否则用户将无法确保和管理员取得联系。
示例:ServerAdmin hradmin.zh@ccb.cn
⑥DocumentRoot "/mnt/web/clusting" # 主站点的网页存储位置。
【说明】此参数设置了httpd 服务的目录。在没有配置类似Alias 这种参数的情况下,服务器会将请求中的URL 附加到DocumentRoot 后面以构成指向文档的路径。比如说:
DocumentRoot /etc/httpd/www/web
于是对http://www.ccb.com.cn/index.html 的访问就会指向/etc/httpd/www/web/index.html 。如果参数中不是绝对路径,则被假定为是相对于ServerRoot 的路径。
注意:指定DocumentRoot 时不应包括最后的"/" 。
⑦ TimeOut
服务器在断定请求失败前等待的时间,即接收和发送数据的超时时间。
【说明】TimeOut参数用于设置Apache在等待以下三种事件的时间:
ⅰ 接受一个GET请求耗费的总时间。
ⅱ POST或PUT请求时,接受两个TCP包之间的时间。
ⅲ 回应时TCP包传输中两个ACK包之间的时间。
还可以理解成Apache允许每次通过HTTP协议传输数据的最大时间。
⑧ Directory
可以封装一组参数,使之仅对文件空间中的某个目录及其子目录生效
【语法】
...
【说明】和用于封装一组参数,使其对某个目录及其子目录生效。directory-path可以是一个目录的完整路径,或是包含了Unix shell匹配语法的通配符字符串,但是通配符都不能匹配"/"字符,例如:是无法匹/home/user/public_html 的,而却能够正确匹配。
directory-path参数必须与被访问文件所在文件系统的路径保持一致。如果有多个非正则表达式,配置段符合并包含某文档的目录(或其父目录),那么会以短目录优先的规则进行应用。的默认访问权限为"Allow from All",这意味着Apache没有进行访问控制,通过设置Order,Deny,Allow,AllowOverride这个几个参数可以对访问进行控制。
以下是对主站点的目录进行访问控制:
Options FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
在上面这段目录属性配置中,主要有下面的选项:
1 、Options :配置在特定目录使用哪些特性,常用的值和基本含义如下:
常用值
含义
ExecCGI
在该目录下允许执行CGI 脚本
FollowSymLinks
在该目录下允许文件系统使用符号连接
Indexes
当用户访问该目录时,如果用户找不到DirectoryIndex 指定的主页文件( 例如index.html), 则返回该目录下的文件列表给用户
SymLinksIfOwnerMatch
当使用符号连接时,只有当符号连接的文件拥有者与实际文件的拥有者相同时才可以访问
2 、AllowOverride :允许存在于.htaccess 文件中的指令类型(.htaccess 文件名是可以改变的,其文件名由AccessFileName 指令决定) 。
【说明】当服务器发现一个.htaccess 文件( 由AccessFileName 指定) 时,它需要知道在这个文件中声明的哪些指令能覆盖在此之前指定的配置参数。一般情况下NONE 即可。
AllowOverride 值
含义
None
当AllowOverride 被设置为None 时。不搜索该目录下的.htaccess 文件(可以减小服务器开销)
All
在.htaccess 文件中可以使用所有的指令
3 、Allow :该参数是控制哪些主机才可以访问目标。
示例:
Allow from 192.64.182.53
Allow from 192.64.182.1 192.64.182.3
表示IP 地址为192.64.182.1 或192.64.182.3 或192.64.182.53 才可以访问目标。
或可用域名或子网,例如:Allow from 192.168.0.0/16
4 、Deny :该参数是控制哪些主机被禁止访问目标。
示例:
Deny from 192.64.182.53
Deny from 192.64.182.1 192.64.182.3
表示IP 地址为192.64.182.1 或192.64.182.3 或192.64.182.53 则不能访问目标。
5 、Order :Order 参数是控制Allow 和Deny 参数生效顺序的,常用的取值是:Deny,Allow 和Allow,Deny 。例如:
Order Deny,Allow
Deny from 192.64.182.53
Allow from 192.64.182.1 192.64.182.3
表示先考虑Deny 条件再考虑Allow 条件,该配置的意思是拒绝IP 地址为192.64.182.53 的访问,只允许192.64.182.1 和192.64.182.3 的访问。
再看一个例子:
Order Allow,Deny
Allow from all
Deny from 192.64.182.53
表示只拒绝IP 地址为192.64.182.53 的访问。
⑨
DirectoryIndex index.html index.htm index.php # 主页文件的设置(本例将主页文件设置为:index.html,index.htm 和index.php )
(2) HTTP 返头回信息配置 :
ServerTokens Prod # 该参数设置http 头部返回的apache 版本信息,可用的值和含义如下:
Prod :仅软件名称,例如:apache
Major :包括主版本号,例如:apache/2
Minor :包括次版本号,例如:apache/2.0
Min :仅apache 的完整版本号,例如:apache/2.0.54
OS :包括操作系统类型,例如:apache/2.0.54 (Unix )
Full :包括apache 支持的模块及模块版本号,例如:Apache/2.0.54 (Unix) mod_ssl/2.0.54 OpenSSL/0.9.7g
ServerSignature Off # 在页面产生错误时是否出现服务器版本信息。推荐设置为Off
(3) 持久性连接设置
1 KeepAlive On # 开启持久性连接功能。即当客户端连接到服务器,下载完数据后仍然保持连接状态。
【说明】持续作用扩展自HTTP/1.0 和HTTP/1.1 的长连接特性。提供了长效的HTTP 会话,用以在同一个TCP 连接中进行多次请求。在某些情况下,这样的方式会对包含大量图片的HTML 文件起到50% 的加速作用。对于使用HTTP/1.0 的客户端来说,只有客户端设置使用的时候才会使用持续作用连接。而对于HTTP/1.1 的客户端来说,如果没有进行特殊指定,长连接将是默认的连接方式。
2 MaxKeepAliveRequests 100 #一个连接服务的最多请求次数。
【说明】该参数限制了当启用KeepAlive 时,每次连接允许的请求数量。如果将此值设为0 ,将不限制请求的数量。这里建议最好将此值设为一个比较大的值,以确保最优的服务器性能。
3 KeepAliveTimeout 30 # 持续连接多长时间,该连接没有再请求数据,则断开该连接。缺省为15 秒。 ( 持续作用中服务器在两次请求之间的等待时间。)
【说明】Apache 在关闭本次连接前等待下一次请求的时间,即在这段时间内该连接没有接收到请求就会关闭此连接。一旦收到一个请求,超时值将会被设置为KeppAliveTimeOut 的值。
注意:对于高负荷的服务器来说,如果把该参数的值设置的较大可能会导致一些性能方面的问题,因为KeppAliveTimeOut 的值会影响释放空闲进程、线程时间的数量,如果该值大,那么在一定时间区间内释放出来的空闲进程、线程的数量会少于该值小的,所以会降低服务器处理请求的能力,从而影响整个系统的吞吐量。
(4 ) Alias URL 映射参数
Alias : 将URL 映射到文件系统的特定区域。
语法:Alias URL-path file-path|directory-path
【说明】Alias 参数使文件可以被存储在DocumentRoot 以外的本地文件系统中。以(% 已解码的)url-path 路径开头的URL 可以被映射到以directory-path 开头的本地文件中。
示例:
Alias /image /etc/var/www/images
将不会 被匹配。
对"http://www.ccb.com/image/foo.gif" 的请求,服务器将返回"/etc/var/www/images/foo.gif" 文件。由于该参数是匹配完整路径,所以请求是"http:// www.ccb.com /imagefoo.gif"
注意:如果url-path 中有后缀"/" ,则服务器要求有后缀"/" 以扩展此别名。也就是说"Alias /icons/ /usr/local/apache/icons/" 并不能对"/icons" 实现别名.
注意,可能需要额外指定一个 段来覆盖别名的最终对象。由于只有出现在 段之前的别名才会被检测,所以它只对最终对象生效。如果对在DocumentRoot 之外的某个目录建立了一个Alias ,则可能需要明确的对目标目录设定访问权限。
示例:
Alias /image /ftp/pub/image
Order allow,deny
Allow from all
(5 ) CGI 设置
ScriptAlias /cgi-bin/ "/mnt/software/apache2/cgi-bin/" # 访问时可以:http://www.iyunv.net/cgi-bin/ 。但是该目录下的CGI 脚本文件要加可执行权限!
# 设置目录属性
AllowOverride None
Options None
Order allow,deny
Allow from all
(6 )个人主页的设置 (public_html)
UserDir public_html ( 间用户的主页存储在用户主目录下的public_html 目录下 URL http://www.iyunv.net/~bearzhang/file.html 将读取 /home/bearzhang/public_html/file.html 文件)
chmod 755 /home/bearzhang # 使其它用户能够读取该文件。
UserDir /var/html (the URL http://www.iyunv.net/~bearzhang/file.html 将读取 /var/html/bearzhang/file.html)
UserDir /var/www/*/docs (the URL http://www.iyunv.net/~bearzhang/file.html 将读取 /var/www/bearzhang/docs/file.html)
运维网声明
1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网 享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com