0548-apache两种工作模式介绍及配置优化
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0548-apache两种工作模式介绍及配置优化相关的知识,希望对你有一定的参考价值。
apache常用工作模式有两种,区别?
worker模式:1、线程模式 2、占用资源少 3、稳定性略差 4、并发大
prefork模式:1、进程模式 2、占用资源多 3、稳定 4、并发一般
apache默认是prefork,编译时候一般选择worker模式。如果编译时候不指定worker模式,那么就是默认的prefork模式
已经确定了worker模式,如何调优呢?
[[email protected] blog]# cd /application/apache/conf/
[[email protected] conf]# vim httpd.conf
把#Include conf/extra/httpd-mpm.conf行的#删除
[[email protected] conf]# cd extra/
[[email protected] extra]# vim httpd-mpm.conf
里面worker模式调试优化默认为:#为注释
<IfModule mpm_worker_module>
StartServers 2
MaxClients 150 #将来调并发连接数就调这个地方
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
如果把并发数从150调整为1500,那么自检时候会如下提示:
[[email protected] extra]# ../../bin/apachectl -t
WARNING: MaxClients of 1500 would require 60 servers,
and would exceed the ServerLimit value of 16.
Automatically lowering MaxClients to 400. To increase,
please see the ServerLimit directive.
Syntax OK
如果增加了ServerLimit 1500如下所示,保存配置文件。
<IfModule mpm_worker_module>
ServerLimit 1500
StartServers 2
MaxClients 1500
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
再次检查语法就不会报错了。
[[email protected] extra]# ../../bin/apachectl -t
Syntax OK
然后平滑优雅重启即可。
[[email protected] extra]# ../../bin/apachectl graceful
面试时候说下两个模式的区别就可以了。知道如何调试并发
0549-apache目录许可功能说明及实践
apache还有很多坑
[[email protected] extra]# pwd
/application/apache/conf/extra
[[email protected] extra]# vim httpd-vhosts.conf
举例其中DocumentRoot里面的路径是指定的/application/apache2.2.34/htdocs
<VirtualHost *:80>
ServerAdmin [email protected]
DocumentRoot "/application/apache2.2.34/htdocs/blog"
ServerName blog.etiantian.org
ErrorLog "logs/blog-error_log"
CustomLog "logs/blog-access_log" common
</VirtualHost>
如果站点不在指定的路径下面,那么配置后的站点就会报错403错误。
原因是:
[[email protected] extra]# cd ..
[[email protected] conf]# ls
extra httpd.conf httpd.conf.bak magic mime.types original
[[email protected] conf]# pwd
/application/apache/conf
[[email protected] conf]# egrep -v "^$|#" httpd.conf
在httpd.conf中已经默认指定好了站点的路径了。如下所示默认:
<Directory "/application/apache2.2.34/htdocs">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
如果站点路径和默认指定的不一样,只需要在httpd.conf里面增加一个站点路径的标签即可。
例如增加如下标签:站点路径/data/www只是举例。
<Directory "/data/www">
Options -Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
本文出自 “sandshell” 博客,请务必保留此出处http://sandshell.blog.51cto.com/9055959/1960987
以上是关于0548-apache两种工作模式介绍及配置优化的主要内容,如果未能解决你的问题,请参考以下文章