乐趣区

Apache运维基础2主配置文件说明

ServerTokens OS

 系统信息, 在访问出错时出现; 把 OS 改为 Minor, 就不显示系统信息

ServerSignature On

 把 On 改为 Off 就连普通的系统都给隐藏起来; 改为 Email 就会显示管理员的邮箱 ( 邮箱需要另外配置 ServerAdmin 

ServerAdmin root@localhost

 管理员邮箱

ServerName localhost

 服务器的主机名, 一般是用虚拟机来设置, 通常这个值是自动指定的,推荐显式的指定它以防止启动时出错

UseCanonicalName Off

 设置为 "On",Apache 会使用 ServerName 指令的值
设置为 "Off" 时,Apache 会使用用户端提供的主机名和端口号。如果有虚拟主机,必须设置为 Off

ServerRoot “/etc/httpd”

 配置项的根目录,类似 html 里面的 base; 默认到这个路径里面找;

PidFile run/httpd.pid

 进程 PID, 位置在 /etc/httpd/run/httpd.pid, 主进程决定着子进程  

Timeout 60

 若 60 秒后没有收到或送出任何数据就切断该连接

KeepAlive Off

 是否开启持久化链接, 访问网站时要对网站的很多资源, 如 css,js,image 等等创建不同的链接; 事实上我们可以建立一个持久化链接来应对多个请求;

MaxKeepAliveRequests 100

 一个持久化链接最多能应对多少个请求

KeepAliveTimeout 15

15 秒不链接就断开

Listen 80

 监听端口, 默认是 80, 一般不同改变;

如果要改变, 注意以下几点:
1. 如果修改为 192.168.1.22:8080, 表示只能通过 192.168.1.22:8080 访问
2. 如果这里要更改为其他端口比如 88 的话, 下面的 ServerName localhost:88 也得更改 (如果是注释掉的, 要取消注释)
3. 如果要监听多个端口, 就多写几个 Listen

Include conf.d/*.conf

 扩展配置文件 /etc/httpd/conf.d/
我们一般在配置文件尾部再加上一句 Include conf/vhosts/*.conf, 把其他虚拟主机的配置分离开

User apache

Apache 子进程所有者

Group apache

Apache 子进程所属组

DirectoryIndex index.html index.html.var

 默认主文件,

DocumentRoot “/var/www/html”

 网站数据根目录。

ErrorDocument 404 /404.html

 创建 404 文件 echo ":) File Not Found!" >/var/www/html/404.html
404 可以通过 PHP 程序来处理 (在框架中), 可以通过 rewrite 来处理, 但是最理想的模式是让 Apache 来处理    

Directory

<Directory />
Options Indexes FollowSymLinks        
AllowOverride None
</Directory>

Directory /
定位目录 /(也就是 Apache 网站根目录)

Indexes
如果访问的文件不存在,显示目录文件列表;要禁止的话前面加上一个 -(-indexes)FollowSymLinks    
在目录下创建 a.html 软链接,ln -s /ab/index.html  /var/www/html/a.html
Options Indexes FollowSymLinks 时软链接可用, 可以直接在根目录下访问这个软连接
Options Indexes –FollowSymLinks 软链接不可用

AllowOverride 
是否允许目录配置文件.htaccess 有效 ALL 有效,None 无效

Order allow,deny
Allow from all
deny from 192.168.1.106
↑↑ 先匹配 allow 允许,后匹配 deny 禁止,虽然 192.168.1.106 满足 Allow,但 deny 是在 allow 后匹配的,所以 192.168.1.106 不允许访问

Order deny,allow
deny from all
allow from 192.168.1.106
↑↑ 只允许 192.168.1.106 访问

IfModule

 如果存在模块 mod_userdir.c

<IfModule mod_userdir.c> 
UserDir disabled       #句首加上 #号, 就表示开启家目录
#UserDir public_html   #设置家目录的文件夹, 在此文件夹里面的文件可以访问得到, 前提是有读写权限
</IfModule>

<Directory /home/*/public_html>
.*  #跟上面配合, 设置可访问家目录的权限
</Directory>

其他说明

1.Apache 对文件的操作就会用系统给的一个临时账号 Apache 作为第三方 other 来运行, 所以要注意 ugo 的 o 的权限设置;

2.Apache 的配置规则是 后出现, 先应用 后面的出现的配置会覆盖前面的。

3. 以上配置都应该在扩展配置里面覆盖更改或增加;

退出移动版