在具有centos面板的VPS上,我将Apache作为web服务器,将Nginx作为反向代理。
我听说第二个比Apache处理PHP请求更快,我想将它configuration为WebServer for 1的网站,但是我仍然需要另外一个Apache。
可能吗?
我的目标是加快php页面的服务时间。 例如wp-admin / admin-ajax.php需要7秒才能呈现! 我会期待0.5秒。
AFAIK你不能有两个进程在同一个端口上(80 / http)在一台机器上进行监听,所以可能不会同时进行。
但是,您可以让Nginx监听端口80,Apache监听另一个端口(81),并让Nginx将适用的请求传递给Apache。 然后,每个人都会将请求传递到需要去的任何地方,例如PHP。 然而,这可能与您现在所拥有的非常相似,所以我不太确定这是您要找的。
也许如果你更全面地描述你的设置和目标,我们可以帮助更多。
更新缓慢的PHP不太可能在Web服务器上。 您需要查看所使用的资源,挖掘代码,检查日志,看看发生了什么。 您可以使用Nginx页面caching或Microcaching来快速更改网站,以大幅度提高匿名用户的速度。 caching减less了服务器负载,因此也减less了login用户的页面生成时间。
PHP并不是最快的语言,但是如果资源适当,那也没关系。 HHVM是另一个比PHP5更快的PHP解释器,但是我发现它对于使用插件的Wordpress并不适用。 PHP7速度更快,但是我又遇到了一些插件问题。
你说过需要7秒来渲染页面。 你有没有使用类似webpagetest.org的testing来确定哪部分页面加载速度慢? 它可以帮助告诉你,如果它是页面生成,依赖资源等
你也应该考虑一个CDN,比如CloudFlare ,它有一个有效的免费层。
这种性能问题几乎不是由apache引起的。 我会运行一个PHP分析器,看看什么是缓慢的。 检查CPU使用情况和磁盘I / O使用情况。 当不是瓶颈时,不要浪费宝贵的时间来更换networking服务器。 看看USE方法(用法,饱和度,错误): http : //www.brendangregg.com/USEmethod/use-linux.html
假设你真的需要在端口80上同时运行两个不同的web服务器,并且你有两个公有IP地址可用,你可以configuration每个Apache和nginx来侦听不同的IP地址。
在Apacheconfiguration中:
Listen 1.2.3.4:80
在nginxconfiguration中:
listen 5.6.7.8:80