首页 > 代码库 > Apache笔记 0105
Apache笔记 0105
Linux下通过server-status监控性能
前提:安装好Apache,在opt/路径下
- 查看Apache的工作模式
可以知道是 prefork.c模式
- 配置server-status 性能
进入到httpd.conf路径
vi /etc/httpd/conf/httpd.conf
然后添加
<Location /server-status>
SetHandler server-status
Order allow,deny
Deny from nothing
Allow from all
</Location>
ExtendedStatus On
<Location /server-info>
SetHandler server-info
Order allow,deny
Deny from nothing
Allow from all
</Location>
- 重启:service httpd restart
- 访问:http://192.168.254.135/server-status
Apache的工作模式
1、prefork.c模块(一个非线程型的、预派生的MPM)
2. worker.c模块(支持混合的多线程多进程的多路处理模块)
一般用worker.c 的模式比较多点,支持的并发比较大。
预派生,首先 要申请资源 不够用的话,再加。
Prefork.c 单进程单线程,比较稳定
Apache的配置文件
- 在vi /etc/httpd/conf/httpd.conf,找到,
ServerRoot "/etc/httpd"
查看Apache存放路径
监听端口是:80,默认的,端口被占用,可以更改这个端口
(/DocumentRoot)
系统目录路径,应用程序代码存放的路径
Apache日志存放路径
加载配置文件
查看Apache的工作模式
1). extra /httpd-mpm.conf
首先:[root@lizongrong ~]# find / -name extra
可以知道extra在cd /opt/lampp/etc/extra/
能够查看到Apache的工作模式,
2). [root@lizongrong extra]# cat httpd-info.conf
查看是否是server-status模块
,
3).extra 目录下, vi httpd-default.conf
Timeout默认是300,超过这个时间就访问超时
MaxKeepAliveRequests 100控制长连接最大的请求个数
4) [root@lizongrong extra]# vi httpd-vhosts.conf
可以配置两台应用程序相互跳转
设置Apache工作模式
1.)[root@lizongrong extra]# vi httpd-mpm.conf
提取文件
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
2)[root@lizongrongextra]# vi /etc/httpd/conf/httpd.conf
拷贝到最后面
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150
MaxConnectionsPerChild 0
</IfModule>
说明:如果是perfork模式就把httpd-mpm.conf对应的模式拷过来,如果是worker.c就把对应的模块拷贝到httpd.conf
3) 保存后,重启
问题:
重启出现这个?
StartServers ,minspareservers改为10,问题解决。
然后访问:http://192.168.254.135/server-status
可以看到:1 requests currently being processed, 9 idle workers
Apache默认首位进程, 所以有 1 requestscurrently being processed
Apache工作模式切换
要切换到worker模式,则需要登录到linux上,进行如下操作:
进入/usr/sbin目录
cd /usr/sbin
将当前的prefork模式启动文件改名
mv httpd httpd.prefork
将worker模式的启动文件改名
mv httpd.worker httpd
修改配置文件vi /etc/httpd/conf/httpd.conf
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 30
MaxRequestsPerChild 0
</IfModule>
然后:[root@lizongrong sbin]# apachectl –l
查看是否切换到 worker.c模式下
Apache笔记 0105