apache配置、监控、工作模式

yum安装Apache

默认路径在/etc/httpd

配置文件路径/etc/httpd/conf/httpd.conf

1apache配置文件说明

1ServerRoot "/etc/httpd",配置文件路径

 

2PidFile run/httpd.pidpid保存路径

 

3Timeout 60,连接请求60s没响应就是超时了

 

4KeepAlive Off,长连接

 

5MaxKeepAliveRequests 100最大长连接请求数

如最大允许200个连接,此处最大长连接请求数设置为200,现在200个连接全部占满,那么后面再来的请求将无法进来,因为长连接不会断开,后面请求全部排队,最终崩掉。

 

6KeepAliveTimeout 15,长连接超时时间

 

7Listen 95,监听端口

默认监听端口是80,此处可以修改。但需要注意监听端口有两种形式,一种只写端口,不限定ip,另一种是ip:端口,只会监听设置好的ip

 

8Include conf.d/*.conf,引用conf.d下的所有.conf文件

 

9DocumentRoot "/var/www/html",工程目录

 

10ErrorLog logs/error_log,错误日志路径

 

11LogLevel warn,日志级别

 

2Apache监控

1)修改apache配置文件,将httpd.conf中加入下面配置,并设置ExtendedStatus On

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Allow from all
</Location>

ExtendedStatus On

2)访问监控页面,http://ip:port/server-status,进入如下监控页面

 

3)指标说明

** 基本指标

 

** 重点关注

 

3Apache工作模式

1prefork模式

Apache启动时父进程会启动一些子进程,需要注意的是子进程里只有一个线程。

StartServers启动时启动多少个进程

MinSpareServers 最小空闲

MaxSpareServers :最大空闲

ServerLimit

MaxClients同一时间最大客户端连接数

MaxRequestsPerChild:子进程能处理多少个请求

空闲代表等待连接

 

2)worker模式

Apache启动时父进程会启动一些子进程,需要注意的是每个子进程会启动多个线程。存在一个问题若某一个线程死锁锁掉了,那么其他线程了会被锁,在一个进程中数据共享。

StartServers:启动时启动多少个进程

MaxClients同一时间最大客户端连接数

MinSpareThreads:最小空闲线程数

MaxSpareThreads:最大空闲线程数

ThreadsPerChild:每个子进程运行启动多少个线程,启动后不会改变

MaxRequestsPerChild0时会出现溢出现象,进程不会重启

 

3)event模式

event模式与worker模式基本一样,只是多了一个线程管理

4、切换Apache工作模式

1)查看当前Apache工作模式

httpd -V ,Server MPM值即为当前工作模式

 

2)查看工作模式

①进入/usr/sbin路径,执行ls httpd*,查看结果如下

 

②查看httpdhttpd.ewenthttpd.worker的工作模式



由此得出结论httpdhttpd.ewenthttpd.worker对应Apache3种工作模式,分别为preforkeventworker

3)切换工作模式

worker模式运行为例

1)修改httpd.worker名称为httpd

2)启动服务:service httpd start/stop/restart

猜你喜欢

转载自blog.csdn.net/yishuifengxiao/article/details/80574267