(linux httpd)-编程之家

apache高并发如何处理httpd每个进程都占用较高的内存和cpu?

mpm(多路处理模块)

常见:

1.perfork预处理进程方式

2.worker工作者模式

3.winnt在windows使用

案例:把apache的最大并发数配置成1000个

1.首先确认apache的mpm方式

cmd>httpd.exe-l可以看到是什么模式了

这里就看mpm_xxx.c这个xxx就是那个了

2.修改httpd.conf文件

搜索mpm,找到server-poolmanagement(mpmspecific)

去掉#includeconf/extra/httpd-mpm.conf

3.修改conf/extra/httpd-mpm.conf文件

prefork模式就修改这里

startservers5#预先开启的进程

minspareservers5#最小预留5个

maxspareservers10#最大留10

maxclients150#最多并发多少个*

maxrequestsperchild0#最多请求多少次0不限制

winnt模式

threadsperchild150#最大并发数*

maxrequestsperchild0#最多处理多少次请求0不限制

修改后面有*的那个字段的数值然后重新启动apache

说明:配置到多大,不一定就可能支撑这么大的并发,考虑到本身apache所在的机器硬件性能(如:内存,cpu,硬盘io)

系统是linux/unix,配置perfork

startservers5

minspareservers5

maxspareservers10

maxclients150*#并发量

maxrequestsperchild0

给大家一个合理的建议配置,对大部份网站,中型网站配置

startservers5#预先启动

minspareservers5

maxspareservers10#最大空闲进程

serverlimit1500*#用于修改apache编程参数

maxclients1000*#最大并发数

maxrequestsperchild0

注:apache2.2以后才有的serverlimit这个参数,其中serverlimit数值大于maxclients数值

如果网站的pv值百万

serverlimit2500*#用于修改apache编程参数

maxclients2000*#最大并发数

注:调到这就是极限了,要是网站访问还是大,哪就要增加apache服务器了

linux下怎样配置web服务器?

工具/原料

Linux操作系统

Web服务器配置详解

方法/步骤

1.Apache是Linux下的Web服务器,Apache用的是静态页面,需要加载模块来支持动态页面,会动态实时的调整进程来处理,最合理的使用多核CPU资源,支持虚拟主机应用,多个Web站点共享一个IP地址。

安装Web服务

先安装Web服务,通过命令yum groupinstall命令进行安装,建议用groupinstall而不用Install是因为groupinstall,会把该服务所有相关的服务包一起安装,这样不会有丢失。

2.通过service httpd restart来开启服务,这里用restart而不用start的原因是restart更安全,因为不知道该服务是否已经开启,如果已经start了再次用start可能会有意外的问题产生,故这里用restart.

3.通过命令chkconfig httpd on来开启httpd服务在下次开机后,仍然是开启有效的,这样的好处在于通过设置自动开启服务,避免人为失误操作,也会保证计算机重启或者断电后服务还是开启的。

4.验证httpd服务是否正常开启,是否能够对外提供服务,进入/var/www/html/,这里是主站点,写一个简单的页面,然后重定向到index.html,这是默认的首页。通过http访问该服务,发现已经成功服务该站点。

5.通过命令vim /etc/httpd/conf/httpd.conf可以对httpd配置文件进行修改,也可以用配置文件里面的功能,有些功能用#号注释掉了,如果想使用该功能的话,直接删除#号,可以让内置的配置文件该功能生效。

6.通过命令ll /etc/httpd可以查看到该目录下有conf和conf.d目录文件,再进一步查看/etc/httpd/conf.d下面可以看到的文件都是httpd的模块文件,用来支持动态页面的模块文件。

7.Apache和Selinux之间的关系,进入/var/www/html/目录下,通过ll –Z查看目录下index.html Selinux属性,通过命令ps –auxZ|grep http查看httpd的进程,这些http进程都有httpd_t的Selinux上下文属性,Selinux就规定了http_t这类的进程上下文属性可以访问httpd_sys_content_t这类文件的上下文属性,从而保证了网站的内容可以被访问。

8.查看Apache日志信息,日志信息存储在/var/log/httpd/目录下,可以查看http访问的日志及https的访问日志,可以查看错误的http日志及https的错误日志等信息,