yum安装Apache
默认路径在/etc/httpd
配置文件路径/etc/httpd/conf/httpd.conf
1)ServerRoot "/etc/httpd",配置文件路径
2)PidFile run/httpd.pid,pid保存路径
3)Timeout 60,连接请求60s没响应就是超时了
4)KeepAlive Off,长连接
5)MaxKeepAliveRequests 100,最大长连接请求数
如最大允许200个连接,此处最大长连接请求数设置为200,现在200个连接全部占满,那么后面再来的请求将无法进来,因为长连接不会断开,后面请求全部排队,最终崩掉。
6)KeepAliveTimeout 15,长连接超时时间
7)Listen 95,监听端口
默认监听端口是80,此处可以修改。但需要注意监听端口有两种形式,一种只写端口,不限定ip,另一种是ip:端口,只会监听设置好的ip
8)Include conf.d/*.conf,引用conf.d下的所有.conf文件
9)DocumentRoot "/var/www/html",工程目录
10)ErrorLog logs/error_log,错误日志路径
11)LogLevel warn,日志级别
1)修改apache配置文件,将httpd.conf中加入下面配置,并设置ExtendedStatus On
SetHandler server-status
Order deny,allow
Allow from all
ExtendedStatus On
2)访问监控页面,http://ip:port/server-status,进入如下监控页面
3)指标说明
** 基本指标
** 重点关注
1)prefork模式
Apache启动时父进程会启动一些子进程,需要注意的是子进程里只有一个线程。
StartServers:启动时启动多少个进程
MinSpareServers :最小空闲
MaxSpareServers :最大空闲
ServerLimit:
MaxClients:同一时间最大客户端连接数
MaxRequestsPerChild:子进程能处理多少个请求
空闲代表等待连接
2)worker模式
Apache启动时父进程会启动一些子进程,需要注意的是每个子进程会启动多个线程。存在一个问题若某一个线程死锁锁掉了,那么其他线程了会被锁,在一个进程中数据共享。
StartServers:启动时启动多少个进程
MaxClients:同一时间最大客户端连接数
MinSpareThreads:最小空闲线程数
MaxSpareThreads:最大空闲线程数
ThreadsPerChild:每个子进程运行启动多少个线程,启动后不会改变
MaxRequestsPerChild:0时会出现溢出现象,进程不会重启
3)event模式
event模式与worker模式基本一样,只是多了一个线程管理
4、切换Apache工作模式
1)查看当前Apache工作模式
httpd -V ,Server MPM值即为当前工作模式
2)查看工作模式
①进入/usr/sbin路径,执行ls httpd*,查看结果如下
②查看httpd,httpd.ewent,httpd.worker的工作模式
由此得出结论httpd,httpd.ewent,httpd.worker对应Apache的3种工作模式,分别为prefork、event、worker
3)切换工作模式
以worker模式运行为例
1)修改httpd.worker名称为httpd
2)启动服务:service httpd start/stop/restart