传统上,我默认是将网站部署在apache下。我听说过有关NGinX的事情,但我想知道在什么条件下它会更好。除了apache和Nginx之外,网络服务器还有哪些其他选择,它们有什么好处?
传统上,我默认是将网站部署在apache下。我听说过有关NGinX的事情,但我想知道在什么条件下它会更好。除了apache和Nginx之外,网络服务器还有哪些其他选择,它们有什么好处?
Answers:
是。
其中一台Web服务器过去每隔几个小时就会出现很大的负载高峰。在查看日志后,我发现负载高峰发生的时间,那里有很多人在看画廊。
因此,我将99%的静态内容从apache卸载到了nginx。apache被留下来服务所有的php。我的Web服务器上的负载下降到一个很小的数字,并且没有更高的负载峰值。
如果您希望从服务器中获得更多收益,请一定要有一些重量轻的服务器来提供所有静态内容。
有一堆Web服务器在那里。我期望取决于您想要的用法。Apache可以满足人们的大部分需求,众所周知,它可以很好地更新,并且可以在几乎任何硬件和操作系统的组合上运行。
有关Web服务器的比较,请选中Web服务器软件比较。
这实际上取决于您在做什么。
如果只有静态内容,则不需要Apache。nginx或lighttpd可以为您服务。
如果您将静态和动态(Perl或PHP)混合使用,但是站点很小,您仍然可以选择其中之一加上FastCGI,或者将整个东西扔到Apache中。
如果您要同时提供Ruby和静态内容,那么mod_passenger
在Apache中应该可以很好地为您服务,而nginx / lighttpd / etc可以提供静态内容。
对于Python(我的专业领域),mod_python
如果愿意,可以使用Apache,但要为速度慢做准备。mod_wsgi
更好,但仍然有Apache的开销,如果您有很多繁重的动态流量,这很好。Apache在大多数情况下都是举重运动员。
如果您没有大量的流量,请研究诸如gunicorn
或uWSGI
或多合一服务器Cherokee之类的新系统来处理您的Python。切诺基也可以处理静态文件。其余的,您仍然需要使用nginx / lighttpd来提供静态内容。
我不知道Java和其他语言。
但是,使用nginx的好处在于它的配置非常惊人。因此,请设置几个具有不同子域的静态服务器,每个静态服务器分别用于CSS,图像和JS。这样,您可以避免每个域一次限制2个文件的限制。设置多个服务器,然后在它们前面设置一个nginx代理/负载均衡器,以确保所有静态内容始终可用。
基本上,是的,不仅仅考虑Apache!