配置Nginx前端Apache后端服务器LNMPA-与LNMP,HHVM性能比拼

VPS主机   2014年06月15日 17:01  

配置Nginx前端Apache后端服务器LNMPA-与LNMP,HHVM性能比拼

Apache和Nginx是当今最流行的两个Web服务器软件,Apache用户基础大,稳定,各种兼容。但是Nginx与其相比,在高并发下nginx能保持低资源低消耗,支持更多的并发连接,体现更高的效率,所以很多人愿意使用Nginx来作Web服务器。

但是Nginx也有劣势,虽然在静态的反向方面Nginx表现优秀,但是在处理PHP动态请求方面不如Apache,并且在操作使用方面不如Apache方便,例如Wordpress一些插件就只能在Apache上起作用。Nginx一个最常见的问题出现访问502错误。

事实上很大型的网站都是采用Nginx前端Apache后端的服务器架构,这样可以很好地结合了Nginx高并发和静态页面高效率以及Apache稳定的动态页面处理特点,再也不用担心Nginx以FastCGI模式运行PHP时的502问题和Apache处理静态页面过慢、负载过高的问题。

本篇文章将介绍Nginx前端Apache后端服务器LNMPA配置方法,同时采用简单的服务器压力测试比较一下LNMPA、HHVM性能表现的优异。更多的有关于服务器架构的教程有:

配置Nginx前端Apache后端服务器LNMPA-与LNMP,HHVM性能比拼

一、Nginx前端Apache后端LNMPA一键快速安装

1、Nginx前端Apache后端的操作流程是在服务器上安装好Nginx和Apache,让Nginx监听80端口,Apache监听非80端口,让Nginx过滤PHP请求给Apache处理,而Nginx只负载前台的静态页面请求处理。

LNMPA监听端口

2、Nginx前端Apache后端配置起来点复杂,不想折腾的朋友可以直接使用Nginx前端Apache后端服务器LNMPA一键安装包:

  • 1、官方网站:https://lnmp.org/.html

3、LNMPA是LNMP的扩展,需要先按LNMP安装教程安装好LNMP后,在LNMP压缩包解压后的目录里再执行./.sh 开始安装。LNMP相信大家已经非常地熟悉了,新版的LNMP集成了Redis、OPcache、MariaDB等新的特性。安装时增加MariaDB选项。

新版LNMP增加的功能

4、LNMP安装与使用可以参考:LNMP新版VPS主机控制面板安装

LNMP成功安装

5、LNMP安装成功后可以在探针中看到服务器引擎是Nginx。

LNMP看到Nginx引擎

6、在LNMP上安装好Wordpress后占用内存大概是170MB,测试环境是阿里云服务器,内存为512MB,CPU为1核。

LNMP安装好占用的内存

7、进入LNMP压缩包解压后的目录里再执行./apache.sh 开始安装。

LNMPA一键安装

8、会提示输入邮箱,回车确认后将会自动开始安装。低于1G内存不建议使用LNMPA,升级到LNMPA后无法降回LNMP。

LNMPA输入邮箱安装

9、看到如下提示就表示Nginx前端Apache后端服务器LNMPA安装成功了。

LNMPA安装成功

10、Wordpress运行在LNMPA内存占用大概是135MB。

LNMPA安装后占用的内存

11、探针中显示的服务器引擎已经变成了Apache。

LNMPA服务器引擎变成Apache

12、LNMPA添加虚拟主机:/root/vhost.sh  。删除虚拟主机,ssh执行:rm /usr/local//conf/vhost/域名.conf 同时需要:rm /usr/local/apache/conf/vhost/域名.conf 。升级LNMPA PHP版本:LNMP压缩包解压后的目录里执行:./upgrade_lnmpa_php.sh

二、LNMPA与LNMP服务器性能比较

1、在同样的VPS主机配置上,安装运行Wordpress,测试方法采用简单的压力测试:网站服务器压力Web性能测试:Apache Bench,Webbench,http_load安装使用

2、在LNMP环境下,Webbench在10秒内同时发起10个连接请求,显示结果是510页面/分钟,95083 字节/秒。

LNMP压力测试

3、此时查看到的VPS负载最高是5。

LNMP服务器压力值

4、继续将连接增加到20个,此时服务器是648页面/分钟,110336 字节/秒。

LNMP增加到20个连接

5、观察到此刻服务器负载最高是11。

LNMP服务器压力是11

6、继续将连接增加到50个,此时服务器是930页面/分钟,135096 字节/秒。

LNMP增加服务器压力50

7、此时系统负载最高是22。

LNMP系统负载

8、在Nginx前端Apache后端服务器LNMPA情况下,10个连接,显示是240页面/分钟,48392字节/秒。

LNMPA压力测试

9、此时服务器负载压力显示为2.3,比LNMP时的5少了近一半。

LNMPA压力比LNMP少了一半

10、增加到了20个连接后,显示为300页面/分钟,54131字节/秒。

LNMPA增加压力测试

11、此时服务器负载压力显示为3.84,比LNMP时的11少了近2/3。

LNMPA服务器承受力增强

12、将连接增加到了50个后,服务器显示为288页面/分钟,58070字节/秒。

LNMPA增加到50个连接

13、此时VPS的压力值为8,比LNMP环境少了近3/5。

LNMPA处理更多的请求

三、LNMPA与HHVM性能比拼

1、HHVM是由著名脸谱公司开发的PHP虚拟机,安装教程:HHVM安装使用教程-高效的PHP运行环境提升PHP性能9倍以上

2、当我把连接增加到200个时,LNMPA环境下的VPS显示4050页面/分钟,620411字节/秒。

LNMPA最多承受压力

2、系统负载压力最向达到170,并且直接宕机。

LNMPA服务器宕机

3、而在HHVM环境下,当连接是10个时,服务器是481548页面/分钟,2905267字节/秒。请注意该数值几值是100倍以上。

HHVM的压力测试

4、而服务器压力仅为1.3,是LNMPA环境下的一半,LNMP环境下的1/5。

HHVM更小的系统负载

5、当我把连接增加到200后,HHVM环境显示520920页面/分钟,3142449字节/秒。

HHVM更强的页面处理能力

6、而VPS主机的系统负载是28,且服务器仍然可以正常被访问。

HHVM服务器很稳定

四、Nginx前端Apache后端服务器LNMPA安装使用小结

1、LNMPA官方建议服务器的内存最少在1GB以上,本篇文章部落用的是阿里云的512MB单核CPU主机,可能没有发挥出LNMPA的优势,但是从与LNMP的对比中仍然可以看出LNMPA的架构存在一定的优势。

2、但是这种“优势”在HHVM面前突然变得那么“渺小”了,512Mb的VPS主机上,从Webbench测试的结果就能看出HHVM在处理请求时的能力有多强,而系统负载居然没有超过30。追求速度的朋友抛弃LNMP直接用HHVM吧。

HHVM性能强大

文章出自:免费资源部落 https://www.freehao123.com/ 版权所有。本站文章除注明出处外,皆为作者原创文章,可自由引用,但请注明来源。

您或许对下面这些文章有兴趣:                    本月吐槽辛苦排行榜

在这个部落村庄里,已经有49 位神马家族成员冒出泡来在农场开始干活了
  • 洛克 14

    沙发

    WordPress商业主题站 回复:

    @洛克, 插队

    这是农场的第 1 块农田,部落批准 [洛克] 在[2014-6-15 17:15]开垦完成.
  • geeker 3

    现在用HHVM还是有点早,毕竟连对WordPress的支持都不是很好——不支持同名不同路径Cookie的问题到现在3.1.0都还没有收入修复代码。可能还会有其他很问题,特别是很多插件中使用的PHP扩展,HHVM都未必支持。

    qi 回复:

    @geeker, 期待HHVM能够更加完善一下,不过程序想要适应HHVM也可能要自身做一些调整,比如一些Wordpress插件可能最终还是不能用在HHVM上了。毕竟HHVM的变化还是挺大的。

    青阳 回复:

    @qi, 既然如此,那就用phpng(php5.7)+varnish呗,或许这才是最高性能的组合哇。我这样用了一个多月了,php5.7虽然是开发版,但是表现异常优秀

    这是农场的第 2 块农田,部落批准 [geeker] 在[2014-6-15 17:22]开垦完成.
  • Kung 23

    内存小了带不起来 – –

    这是农场的第 3 块农田,部落批准 [Kung] 在[2014-6-15 17:32]开垦完成.
  • musk100 6

    小站没有必要

    这是农场的第 4 块农田,部落批准 [musk100] 在[2014-6-15 17:42]开垦完成.
  • 正需要呢~

    这是农场的第 5 块农田,部落批准 [无纯洁] 在[2014-6-15 17:47]开垦完成.
  • 猫箱内の巴托拉 4

    话说刚知道原来博主是男的……

    极雪 回复:

    好吧你真牛。。。。。。。。。。。。。

    qi 回复:

    @猫箱内巴托拉, 从何得知的?

    小武 回复:

    @qi, 我也想知道! :oops:

    Rich 回复:

    @qi, 关于本文作者中“PS:此人为男。” :lol:

    这是农场的第 6 块农田,部落批准 [猫箱内の巴托拉] 在[2014-6-15 18:07]开垦完成.
  • 极雪 15

    前排。。。。。。。

    这是农场的第 7 块农田,部落批准 [极雪] 在[2014-6-15 18:18]开垦完成.
  • 极雪 15

    HHVM貌似很多程序都不兼容

    这是农场的第 8 块农田,部落批准 [极雪] 在[2014-6-15 18:25]开垦完成.
  • 极雪 15

    @qi 发现bug一枚,我刚刚回复6楼时,评论中出现了@其昵称,包含了日文字符,然后就发布被拦截了。。。。。。

    王琪亮 回复:

    @极雪, 可能用了你博客上曾经发布的“日文拦截”代码。

    极雪 回复:

    @王琪亮, 嗯,应该是的,可以有效拦截spam

    qi 回复:

    @极雪, 主要是博客禁止了日文评论,之前有太多的日文垃圾评论了。

    这是农场的第 9 块农田,部落批准 [极雪] 在[2014-6-15 18:29]开垦完成.
  • Jason 16

    前排

    这是农场的第 10 块农田,部落批准 [Jason] 在[2014-6-15 18:33]开垦完成.
  • wordpressnote 13

    正在使用hhvm中,相当不错

    这是农场的第 11 块农田,部落批准 [wordpressnote] 在[2014-6-15 18:43]开垦完成.
  • nomaka 1

    php为何 不用nginx+php-fpm ?

    qi 回复:

    @nomaka, 可以这样搭建,但是配置起来好像有复杂。

    这是农场的第 12 块农田,部落批准 [nomaka] 在[2014-6-15 19:21]开垦完成.
  • 不认识 17

    不会把apache做了执行容器了吧。。。

    这是农场的第 13 块农田,部落批准 [不认识] 在[2014-6-15 19:34]开垦完成.
  • 潮流台 11

    :mrgreen: 连续几篇文章一直推荐HHVM啊

    这是农场的第 14 块农田,部落批准 [潮流台] 在[2014-6-15 21:59]开垦完成.
  • PaoPao 4

    最近qi一直介绍HHVM,看的很手痒。
    看到一个网上有说BandwagonHost $9.9年付 512M 5G ssd的,qi什么意见

    oyang 回复:

    @PaoPao, 这个空间我再用,访问还可以,只是 [email protected] 的时候速度很慢,但是 CPU 限制是比较严格的,9。9刀的 属于促销的 应该是 一小时内 平均 不超过 17% CPU 否则就 停机,不过可以申诉,,,其他的还好 比较稳定,但是现在折腾的也相当厉害,因为便宜,,他们家又出了个 xvmlabs.com 4.99 和这个配置一样,但是 cpu 限制更狠 是 7%,我挂了个 [email protected]#N ,速度还行,,具体看你用什么 如果做站,,,小站可以 真的很稳定,,缺点就是大量的国人涌入。。。

    oyang 回复:

    @PaoPao, 我说的 是 [email protected] 连接以后 系统更新和安装脚本的时候 显示的下载速度不理想

    这是农场的第 15 块农田,部落批准 [PaoPao] 在[2014-6-16 14:59]开垦完成.
  • qa 4

    hhvm不知道为什么,跑了一天内存爆了。
    512的kvm

    qi 回复:

    @qa, 是偶尔的还是一直是这样的?

    Qa 回复:

    @qi, 512内存,1000IP的访问量

    qi 回复:

    @Qa, 重启后是不是就正常了?

    Qa 回复:

    @qi, 我设置进程自杀就重启HHVM。
    不知道怎么了。。。访问一上来就爆了。都换1G的VPS了

    这是农场的第 16 块农田,部落批准 [qa] 在[2014-6-18 00:48]开垦完成.
  • zhangjintao 3

    那rewrite怎么办,用Apache的.htaccess 还是Nginx?

    qi 回复:

    @zhangjintao, 还是用的Apache的.htaccess ,Nginx只负责处理前台一些静态请求。PHP还是交给Apache来处理。

    这是农场的第 17 块农田,部落批准 [zhangjintao] 在[2014-6-19 10:05]开垦完成.
  • 大猫 From 微尘逐风 2

    有啥用啥

    这是农场的第 18 块农田,部落批准 [大猫 From 微尘逐风] 在[2014-6-21 13:27]开垦完成.
  • 刘洋

    博主的文章写的非常好,速度也很快,欢迎互访~ https://www.tao91.net/

    这是农场的第 19 块农田,部落批准 [刘洋] 在[2014-11-17 11:12]开垦完成.
  • 三次元世界 1

    Ngnix服务器的话配置Add Expires headers是不是和Apache一样啊?

    qi 回复:

    @三次元世界, 不一样,Apache是在htaccess或者httpd.conf中添加,Nginx是在配置中添加,规则与htaccess完成不同。

    张小三 回复:

    @qi, lnmp0.9 PHP5.2的环境下..Apache+nginx的组合负载不如单独的LNMP模式。。600并发20秒测试lnmp负载是10+。而lnmpa负载高达20+。。。。。怀疑是不是我lnmpa没装对。。抽空再重装看看。。。

    qi 回复:

    @张小三, 可以多次测试看看。

    张小三 回复:

    @qi, 又重新测试了一次。。PHP5.2中LNMP比LNMPA负载能力强。测试总结https://www.zxsdw.com/index.php/archives/1111/

    qi 回复:

    @张小三, 谢谢,我来看看。

    这是农场的第 20 块农田,部落批准 [三次元世界] 在[2014-12-9 23:32]开垦完成.
  • 小三 17

    @qi,太可怕了。看到你的文章我自己又去测试,单独测试lnmp在没优化及优化后的测试。。结果就是越优化负载能力越差。用的是lnmp0.9的安装包。有时间可以看下我的测试结果。https://www.hostloc.com/thread-263196-1-1.html。另外优化教程完全是按照之前我博客里自己收集总结的文章。https://www.zxsdw.com/index.php/archives/881/

    这是农场的第 21 块农田,部落批准 [小三] 在[2014-12-19 06:48]开垦完成.
  • 小三 17

    :arrow: 谷歌了一把发现这篇文章。wb工具的压力测试。lnmp负载虽然高,但网页打开是无压力的。。。。。https://www.21andy.com/new/20100219/1703.html

    qi 回复:

    @小三, 我来试试看,是不是有什么地方弄错了?

    这是农场的第 22 块农田,部落批准 [小三] 在[2014-12-19 07:38]开垦完成.
  • chen

    如果我的页面是伪静态的怎么办?例如访问index.php时,浏览器其实输入index.html

    qi 回复:

    @chen, 可以直接使用Nginx的伪静态规则。

    这是农场的第 23 块农田,部落批准 [chen] 在[2015-1-9 09:37]开垦完成.
  • 电影 2

    HHVM这么给力,有空试试。

    这是农场的第 24 块农田,部落批准 [电影] 在[2015-3-18 22:43]开垦完成.
看贴要回贴有N种理由!看帖不回贴的后果你懂得的!


评论内容 (*必填):
(Ctrl + Enter提交)   

部落快速搜索栏

各类专题梳理

网站导航栏

X

返回顶部