Nginx作为Apache之前的反向代理

目前的设置单一的CentOS 6 VPS与6G内存运行Apache 2.2,mariadb和PHP通过FastCGI。 服务器主要是WordPress的网站,但也有一些其他基于PHP的网站。 目前,我们并没有为任何网站使用HTTPS,但计划将其添加到基于PHP的网站进行身份validation。

  1. 将Nginx作为反向代理(有或没有caching)添加到同一个物理服务器上的apache + FastCGI前面的静态内容,有没有什么好处? Apache没有加载mod_php,所以它已经在静态服务很快了。
    1A。 保持apache在中间并保持apache-php与FastCGI的关系有什么好处。
    1B。 如果我们把Apache-FastCGI改成Apache-mod_php,会有什么好处呢? 由于Apache现在唯一的任务是提供dynamic内容,那么mod_php会提高性能吗? 和Apache-FstCGI一样,apache必须要求一个单独的进程(FastCGI)来parsingphp,而在mod_php中,apache进程可以直接parsingphp。
    1C。 哪个服务器应该处理SSL的东西?
  2. 如果将apache从中间删除,Nginx直接使用php-fpm作为dynamic内容,会有什么优势?
  3. 我们正在考虑让CloudFlare免费计划添加CDN,那么如果前面有CloudFlare,那么添加nginx是否有意义呢?

1)是的,大多数情况下,当apache处理缓慢的HTTP客户端:apache的devise方式,当其孩子阻止,直到他服务一个客户端,因此它无法服务其他人。 所以,如果你有很多的客户端,Apache的孩子将堆叠,消耗内存/ CPU,并可能击中儿童帽,使这种情况下的DoS。

1a)我看不到。

1b)是的,php模块的devise更快捷。 但是这个速度只能在math中看到,而不能在文件操作中看到。 所以我build议摆脱Apache并使用nginx + FastCGI。

1c)不是真的很重要,但是我想这应该是链中的第一个服务器,因为它更方便。

2)是的。 速度(与任何types的客户端),静态文件操作,caching,较less的内存消耗。 我敢打赌你会看到没有任何基准testing工具的差异。

3)我会说我看到没有必要使用CloudFlare CDN。 如果你真的需要它 – 你已经摆脱了Apache。 既然你没有 – 这意味着你的Web服务器的负载很低。 但是,如果你坚持回答这个问题 – 我怀疑。 如果你对现在的事情感到满意,我怀疑是否有必要做某些事情。 我没有任何讽刺地说这个。