换上了军哥的LNMPA之后试用了一下发现效果不错,并发测试结果上来看确实好了不少,但是问题也随之到来了:内存不停增加到700+MB,比原先有一个面板时候的内存占用还要大。
通过top命令查看之后发现apache的几个进程都占用了相当一部分内存,而当时却是空载的,也就是apache内存没有被释放。发现这个问题之后就方便了,只需要修改一个参数即可:MaxRequestsPerChild。配置文件因环境不同而不同,可能是httpd.conf,也可能是httpd-mpm.conf,这都在apache安装目录下,vi之后搜索一下就行。修改MaxRequestsPerChild之后的数字为一个适合内存大小的数值,太小太大都不好,这个可以通过试验得出。
扩展阅读:LNMPA是什么?
也许大家对LAMP、LNMP比较熟悉,LAMP代表Linux下Apache、MySQL、PHP这种网站服务器架构;LNMP代表的是Linux下Nginx、MySQL、PHP这种网站服务器架构。LNMPA代表的是Linux下Nginx、MySQL、PHP、Apache这种网站服务器架构,是结合LAMP与LNMP各自的优点而产生的新的网站服务器架构。
我们为什么采用LNMPA这种架构?
采用Linux、PHP、MySQL的优点我们不必多说。
Nginx是一个小巧而高效的Linux下的Web服务器软件,与Apache相比,消耗资源更少,支持的并发连接,更高的效率,反向代理功能效率高、静态文件处理快等。
Apache是一款老牌的Web服务器软件,在高并发时对队列的处理比FastCGI更成熟,Apache的mod_php效率比php-cgi更高且更稳定、对伪静态支持好,不需要转换、多用户多站点权限等方面有着更好的效果……
LNMPA这种架构有什么优势?
LNMPA使用Nginx作为前端服务能够更快更及时的静态页面、js、图片等,当客户端请求访问动态页面时由Nginx的反向代理给Apache处理,Apache处理完再交予Nginx返回给客户端。
采用LNMPA能够更好的解决LNMP架构中由于PHP-FPM方面产生的502错误,同时能够为提供更安全的多用户多站点环境。