NGINX和APACHE一起使用还是只用NGINX?

3
我想知道仅使用NGINX与同时使用NGINX和APACHE的优缺点。我需要一个非常快的服务器来进行文件分发,NGINX乍一看似乎完美无缺,但是有一些缺点,如下:
  • 不支持上传进度条。 是的,我知道有一个模块可以解决这个问题,但它会影响性能吗?因为NGINX必须以不同的方式运作?

  • .htaccess, 我有大约200行规则需要重写,它可能需要多长时间,并且重写到NGINX会有多难?

  • 安全问题怎么样? NGINX比Apache更/ less安全吗?

  • 仅使用NGINX还有其他缺点吗?

谢谢您合理的回答。 ;)
1个回答

2

您已经强调了在更换到nginx时的大多数常见问题。以下是详细的答案:

  1. 相比于nginx,Apache本身及其众多模块和选项会占用更多内存和CPU资源,这一点在此回答等答案中有所体现。虽然Apache 2.4要少一些,但仍然比nginx多。

  2. 这是Apache最常被忽视的功能之一,也是最消耗磁盘的功能之一。您知道吗?Apache需要遍历所有目录,直到webroot,才能为每个请求读取所有htaccess文件。方便是以牺牲性能为代价的。如果您更喜欢方便而不是轻微的性能提升,可以继续使用它。有一些方法可以通过将所有规则合并到单个htaccess文件中或通过在配置中使用Location块来改善Apache的效率。

  3. 您真的认为黑客攻击您使用的PHP之前不会先攻击您使用的其他东西吗?由于打包的内容较少并且几乎每个平凡任务都需要cgi进程,因此nginx略微更安全。

  4. 是的。您失去了很多Apache特定的功能,例如所有mod_dav功能。您失去了许多模块,实际上。

如果您需要使用Apache模块,则最好将nginx放在Apache之前使用。如果可能的话,将其用作负载均衡器,位于多个Apache实例之间,并且您将拥有一个相当...惊人的混合设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接