CentOS 6: httpd
配置文件:
/etc/httpd/conf/httpd.conf
/etc/httpd/conf.d/*.conf
服务脚本:
/etc/rc.d/init.d/httpd
脚本配置文件:/etc/sysconfig/httpd
模块目录:
/etc/httpd/modules: 链接文件
/usr/lib64/httpd/modules
主程序:
/usr/sbin/httpd: prefork
/usr/sbin/httpd.event: event
/usr/sbin/httpd.worker: worker
日志文件目录:
/var/log/httpd
access_log: 访问日志
error_log: 错误日志
站点文档根目录:
/var/www/html/images/a.jpg
http://www.magedu.com/images/a.jpg
1、持久连接
KeepAlive {On|Off}
MaxKeepAliveRequests 100
KeepAliveTimeout 15
例子:用telnet测试80端口的httpd服务请求
首先yum install telnet -y 安装telnet服务,
在Centos 7 上进行telnet 192.168.10.8 80命令(用telnet 访问192.168.10.8 的80端口)
然后输入GET / HTTP/1.1 (用GET请求去访问/下的页面用HTTP/1.1的协议)回车输入Host: 192.168.10.8(你用哪台主机去访问 )回车就把请求返回了
2、MPM参数:vim /etc/httpd/conf/httpd.conf
<IfModule prefork.c>
StartServers 8 服务启动时启动多少个服务器进程(主控进程的子进程)
MinSpareServers 5 最少空闲进程数
MaxSpareServers 20 最大空闲进程数
ServerLimit 256 在服务器生命周期内为MAXClients准备的服务器进程的上限数量
MaxClients 256 服务器端最少启动多少个服务器进程
MaxRequestsPerChild 4000
</IfModule>
<IfModule worker.c>
StartServers 4
MaxClients 300 服务器端启动的最大线程数
MinSpareThreads 25 最小空闲线程数
MaxSpareThreads 75 最大空闲线程数
ThreadsPerChild 25 每个进程启动的线程数
MaxRequestsPerChild 0 每个线程所能够享用的最大请求数量 0表示不做限制
</IfModule>
3、指定监听的地址和端口
Listen [IP:]PORT
此指令可重复指定多次;
4、DSO机制装载的模块
显示:
# httpd -D DUMP_MODULES
LoadModule Module_Name /path/to/Module_File
5、指定站点根目录
DocumentRoot "/path/to/somewhere"
6、站点路径访问控制
基于本地文件系统路径:
<Directory "/path/to/somewhere">
</Directory>
基于URL访问路径做访问控制
<Location "/path/to/URL">
</Location>
7、于Directory中可用的访问控制
(1) Options
Indexes: 当访问的路径下无默认的主页面,将所有资源以列表形式呈现给用户;危险,慎用;
FollowSymlinks: 跳跃符号链接
(2) AllowOverride
支持在每个页面目录下创建.htaccess用于实现对此目录中资源访问时的访问控制功能。
8、基于IP做访问控制
Order allow,deny
Deny from 172.16.100.17
Allow from 172.16.0.0/16
from后面能接受的地址格式:
IP, Network Address
网络地址格式较为灵活:
172.16
172.16.0.0
172.16.0.0/16
172.16.0.0/255.255.0.0
9、定义默认的主页面
DirectoryIndex
10、配置日志功能
ErrorLog "/path/to/error_log"
LogLevel {debug|info|notice|warn|error|crit|alert|emerg}
LogFormat
CustomLog "/path/to/access_log" LogFormat_Name
%h: 客户端地址
%l: 远程登录名,通常为-
%u: 认证时输入用户名,没有认证时为-
%t: 服务器收到 用户请求时的时间
%r:请求报名的起始行
%>s: 响应状态码
%b: 响应报文的长度,单位是字节
%{HEADER_NAME}i: 记录指定首部对应的值
11、路径别名
站点根目录:/www/html
http://www.magedu.com/images/logo/new.gif
此文件位置:/www/html/images/logo/new.gif
实现URL路径的映射,从而所访问的资源不再依赖于站点根目录;
Alias /URL/ "/path/to/somewhere/"
更换使用Httpd程序:
只需要修改etc/sysconfig/httpd文件中的HTTPD=
重启服务生效
编辑文件/etc/sysconfig/httpd 文件把白色文字的井号去掉就修改了程序
HTTPD=/usr/sbin/httpd.worker
返回原来的设置就把刚才修改的在重新加上#号就返回原先的设置了
修改网页的路径可以在vim /etc/httpd/conf/httpd.conf 文件中找到以下内容进行修改
默认情况下有索引功能,比如我在/var/www/html目录下创建俩个网页但是名字都不是index.html结果访问网站,是阿帕奇的默认页面,解决此情况的方法是加索引功能
Options Indexes FollowSymLinks
indexes是加索引,如果出现很多网页可以显示目录一样的形式选择网页
FollowSymLinks 可以跟踪链接文件,比如我在mnt目录下创建一个网页文件把它链接到var/www/html/hh.html是可以访问的,如果不想访问则把它删除就可以
[root@liudongyi ~]# vim /etc/httpd/conf/httpd.conf
[root@liudongyi ~]# touch /mnt/index.html
[root@liudongyi ~]# echo 123 > /mnt/index.html
[root@liudongyi ~]# ln -sv /mnt/index.html /var/www/html/index.html
"/var/www/html/index.html" -> "/mnt/index.html"
[root@liudongyi ~]#
网站别名:
我把/shagua/路径改为/mnt/shagua/的路径下的网页
以前出现的是shagua现在改完以后出现的是mnt,