httpd常见配置 配置文件
/etc/httpd/conf/httpd.conf 主配置文件
/etc/httpd/conf.d/*.conf 辅助配置文件
配置文件语法检查及重新加载配置文件[root@node1 conf]$ httpd -t Syntax OK [root@node1 conf]$ service httpd reload 重新载入 httpd:
修改监听的IP和Port
Listen [IP:] PORT [PROTOCOL]
IP 本机的IP,本机可能使用多个网卡,每个网卡可能使用多个IP,故而可以指定特定IP,不指定,默认为监听所有IP
PORT 端口号,不可省略
PROTOCOL 特定协议,例如 https
注:Listen指令在同一文件中,如果需要监听多个目标,Listen可以出现多次
DocumentRoot "/var/www/html"
ServerName :80 # 服务器名称
DirectoryIndex index.html index.html.var # 站点主页面
AddDefaultCharset UTF-8 # 默认字符集
Alias /icons/ "/var/www/icons/" # 路径别名
KeepAlive Off | On # 是否开启长连接 MaxKeepAliveRequests 100 # 保持长连接最大个数 KeepAliveTimeout 15 # 单个连接最长连接时间
动态加载模块LoadModule <mod_name> <mod_path> <mod_name> 模块名称 <mod_path> 模块路径,支持使用相对路径,相对于ServerRoot /etc/httpd
MPM(多路处理模块)配置查看
httpd -l # 查看静态模块 httpd -M # 查看动态加载的模块
更换
CentOS 6
/etc/sysconfig/httpd
# HTTPD=/usr/sbin/httpd.worker # 注释表示使用默认方式prefork工作,否则表示使用worker方式工作
CentOS7
/etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_worker_module modules/mod_mpm_worker.so
# 注释或打开相关代码
prefork常用配置
<IfModule prefork.c> StartServers 8 # 起始开启的子进程数 MinSpareServers 5 # 最小空闲子进程数 MaxSpareServers 20 # 最大空闲子进程数 ServerLimit 256 # 最大的进程数 MaxClients 256 # 最大的请求并发数 MaxRequestsPerChild 4000 # 每个子进程最多能处理的请求数 </IfModule>
work常用配置
<IfModule worker.c> StartServers 4 MaxClients 300 # 最大的请求并发数目 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 # 每个子进程能同时创建的的线程数目 MaxRequestsPerChild 0 # 每个进程能处理的最大请求数目 </IfModule>
日志配置ErrorLog logs/error_log # 错误日志目录 LogLevel warn # 日志记录等级 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined # 日志格式定义
%h:客户端IP地址;
%l:Remote User, 通常为一个减号(“-”);
%u:Remote user (from auth; may be bogus if return status (%s) is 401);非为登录访问时,其为一个减号;
%t:服务器收到请求时的时间;
%r:First line of request,即表示请求报文的首行;记录了此次请求的“方法”,“URL”以及协议版本;
%>s:响应状态码;
%b:响应报文的大小,单位是字节;不包括响应报文的http首部;
%{Referer}i:请求报文中首部“referer”的值;即从哪个页面中的超链接跳转至当前页面的;
%{User-Agent}i:请求报文中首部“User-Agent”的值;即发出请求的应用程序;
站点访问控制可分为两类,基于文件路径控制和基于URL路径控制。
基于文件路径访问控制<Directory "DocuRoot"> ... </Directory "DocuRoot"> <FILE ""> ... </FILE ""> <FileMatch "PATTERN"> ... </FileMatch "PATTERN">
基于URL路径访问控制
<Location "">
...
</Location "">
<LocationMatch "">
...
</LocationMatch "">