浏览 1.2k
按点赞数排序
按时间排序
主要区别是性能:
1、从功能上三者有很多重叠,比如都可以实现静态资源、反向代理等功能。
2、从性能上,Nginx和Apache、Tomcat不是一个量级的,因此,你经常可以见到,Apache、Tomcat的下游,还部署着一台Nginx,由Nginx去处理客户端流量,包括:
卸载掉TLS层
对静态资源直接返回
对过大的流量限速
对不合法的流量拦截
对上游流量则用水平扩展的方式分发流量,提升系统scalability
等等。
2
回答于2020-06-11 09:48
1. Apache
Apache HTTP服务器是一个模块化的服务器,可以运行在几乎所有广泛使用的计算机平台上。其属于应用服务器。Apache支持支持模块多,性能稳定,Apache本身是静态解析,适合静态HTML、图片等,但可以通过扩展脚本、模块等支持动态页面等。
(Apche可以支持PHPcgiperl,但是要使用Java的话,你需要Tomcat在Apache后台支撑,将Java请求由Apache转发给Tomcat处理。)
缺点:配置相对复杂,自身不支持动态页面。
2. Tomcat:
Tomcat是应用(Java)服务器,它只是一个Servlet(JSP也翻译成Servlet)容器,可以认为是Apache的扩展,但是可以独立于Apache运行。
3. Nginx
Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engine X”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP 代理服务器。
1
回答于2020-05-08 10:25
默认情况下,nginx.conf里没有server配置,用的是include指令引入了conf.d里的配置文件。最好是把server配置都放在conf.d里,当然在nginx.conf里写sever配置也允许,但这样就不太好管理了。默认应该是这样的:
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}