Tomcat
Tomcat是由Apache软件基金会下开发的一个开源的WEB应用服务器.类似功能的还有JBoss,Jetty.但是Tomcat是用Java语言编写的,需要运行在Java虚拟机上,所以一般需要先安装JDK,提供运行环境。
Tomcat有几种部署方式
-
直接把web项目放在webapps下,Tomcat会自动将其部署.
-
在server.xml文件上配置节点,设置相关的属性即可.
<Context path="/wuli" docBase="C:\Users\Administrator\Desktop\wuli_war_exploded" />
-
在conf/catalina/localhost下,创建xml文件,该文件的名字是站点的名字,编写XML的方式配置.
<Context path="/wuli" docBase="C:\Users\Administrator\Desktop\wuli_war_exploded" />
Tomcat工作模式?
- 作为servlet容器有三种
- 独立的servlet容器
- 进程内的servlet容器
- 进程外的servlet容器
- 访问Tomcat的请求可以将工作模式分为两类
- 作为独立服务器:请求来自于web浏览器.
- 作为应用程序服务器:请求来自于前端的web服务器.
Tomcat调优
- 动静分离,不要解析静态文件,只解析JSP/Servlet等动态文件。
- 配置文件优化,server.xml,如设置最小空闲线程数,上传超时时间,压缩类型。
- JVM优化。
Nginx
Nginx是一款轻量级的HTTP服务器.由俄罗斯的程序设计师伊戈尔·西索夫开发.它的性能非常优秀,官方测试nginx能够支撑5W并发连接,并且cpu,内存等资源消耗却非常低,运行非常稳定.
功能
反向代理
代理服务器,接收请求后,反向代理服务器选择内部目标服务器,内部服务器处理后将结果传递给nginx,nginx再将结果返回给客户端.此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
静态资源
Nginx作为静态资源服务器,可以实现动静分离
负载均衡
代理服务器将接收的请求均衡的分发到各服务器中,负载均衡主要解决网络拥塞问题,提高服务器响应速度,达到更好的访问质量,减少后台服务器并发压力
Tomcat和Nginx的区别
-
解析文件
Tomcat是application server,解析动态资源.
Nginx是http server,解析静态资源.
-
用途
tomcat常作为servlet容器使用.
nginx常用于反向代理服务器,静态资源服务器,负载均衡服务器.
-
性能
Tomcat的并发在200-400之间.
nginx支持5W+并发.