CentOS 7: apache 2.4 基于OneinStack部署 默认配置文件/usr/local/apache/conf目录下
1、修改监听的IP和Port,默认80端口
[root@carlcompute conf]# service httpd start
Redirecting to /bin/systemctl start httpd.service
[root@carlcompute conf]# ss -tnl | grep 80
LISTEN 0 128 :::80 :::*
Listen [IP:]PORT IP可以省略,表示监听所有IP地址,Listen 可以出现多次,修改后必须restart。
例如加上 Listen 本机IP:8080 浏览器中输入本机IP:8080,一样可以访问
2、持久连接
/usr/local/apache/conf/extra/httpd-default.conf
Persistent Connection:连接建立,每个资源获取完成后不会断开连接,而是继续等待其它的请求完成;
如何断开?
1>数量限制:100 默认配置
2>时间限制:可配置
副作用:对并发访问量较大的服务器,持久连接功能会使用有些请求得不到响应;
折衷:使用较短的持久连接时间;
httpd-2.4 支持毫秒级持久时间;
KeepAlive On|Off 是否开启
MaxKeepAliveRequests # 数量限制
KeepAliveTimeout # 时间限制
测试:
telnet 192.168.88.125
GET / HTTP/1.1
Host: 192.168.88.125
3、MPM
Multipath Process Module:多道处理模块
prefork, worker, event
httpd-2.2不支持同时编译多个模块,所以只能编译时选定一个;rpm安装的包提供三个二进制程序文件,分别用于实现对不同MPM机制的支持;确认方法:
# ps aux | grep httpd
yum install 安装后默认为/usr/sbin/httpd, 其使用prefork 查看静态模块列表 httpd -l
# httpd -M 查看静态编译及动态装载的模块
prefork的配置:
StartServers 8 服务启动时启动的服务器进程数
MinSpareServers 5 最小空闲进程数
MaxSpareServers 20 最大空闲进程数
ServerLimit 256 为MaxClients准备的在其生命周期内所允许的最大值
MaxClients 256 服务器端最多允许启动多少服务器进程(最多只允许256个客户端)
MaxRequestsPerChild 4000 一个服务器进程最多可以响应多少次请求,达到上限后Kill掉从新生成
worker的配置
StartServers 4 服务器启动时启动多少进程
MaxClients 300 最大启动的线程数
MinSpareThreads 25 最小空闲线程数
MaxSpareThreads 75 最大空闲进程数
ThreadsPerChild 25 每个进程所能够启动的线程数
MaxRequestsPerChild 0 表示不作限制
4.DSO 配置指令实现模块加载
LoadModule模块路径可使用相对地址,相对于ServerRoot(/etc/httpd)指向的路径而言;
5.定义'Main' server的文档页面路径
DocumentRoot 文档路径映射:DocumentRoot指向的路径为URL路径的起始位
6.站点访问控制,可基于两种类型的路径指明对哪些资源进行访问控制
7.日志设定
8.路径别名