关于锐讯

成立于2004年,十多年经验积累,专注为客户提供优质的网络环境、接入带宽及高稳定性的网络服务

Tomcat 与Nginx关系
时间:2019.07.18   作者:网络   阅读:106

Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。

反向代理:

客户端本来可以直接通过HTTP协议访问某网站应用服务器,如果网站管理员在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端。

Tomcat 与Nginx关系

 

反向代理的作用:

负载均衡:相同的应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。

Tomcat 与Nginx关系

 

 Nginx的配置:upstream myapp {
 server 192.168.0.111:8080; # 应用服务器1
 server 192.168.0.112:8080; # 应用服务器2
}
server {
 listen 80;
 location / {
 proxy_pass http://myweb;
 }
}

虚拟主机

如将www.aaa.com和www.bbb.com两个网站部署在同一台服务器上,两个域名解析到同一个IP地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。

server {
 listen 80 default_server;
 server_name _;
 return 444; # 过滤其他域名的请求,返回444状态码
}
server {
 listen 80;
 server_name www.aaa.com; # www.aaa.com域名
 location / {
 proxy_pass http://localhost:8080; # 对应端口号8080
 }
}
server {
 listen 80;
 server_name www.bbb.com; # www.bbb.com域名
 location / {
 proxy_pass http://localhost:8081; # 对应端口号8081
 }
}

在服务器8080和8081分别开了一个应用,客户端通过不同的域名访问,根据server_name可以反向代理到对应的应用服务器。

动态静态资源分离:

之前开发web方面的程序时候我们习惯将html、css等资源文件也放置于Tomcat中,用户访问后tomcat需要将请求的这些静态资源文件一并返回给用户。

再者如果有多台同业务逻辑的tomcat服务器的话,同样的资源还需要在每个服务器上放一份,同时也增加了tomcat服务器的网络IO。

如果我们只讲JSP之类的请求交给tomcat,在代理服务器上存放静态资源,当用户的请求非动态资源的时候,我们完全可以将代理服务器的静态资源直接返回给用户,而不去增大Tomcat的压力

tomcat只需要负责逻辑处理动态资源的加载就可以了。


Tomcat的高并发性能很弱,所以在处理静态请求的时候,我们就抛给Nginx处理,而Tomcat专门处理动态请求。

Nginx和Tomcat结合方式

  1. 将所有静态页面交给nginx,动态请求交给后端tomcat处理。

  2. 将所有请求交给后端tomcat服务器处理,只利用Nginx自身的负载均衡功能进行多台tomcat服务器调度流量


WEB-INF

WEB-INF是Java的WEB应用的安全目录。所谓安全就是客户端无法访问,只有服务端可以访问的目录

以上为本文全部内容,更多IDC行业资讯,服务器知识,请关注锐讯网络

售前在线咨询

以下为10位资深销售主管官方企业Q,更多销售员Q请咨询销售主管

售后服务

或与官方提供的专属QQ一对一直接服务

工作时间: 周一至周五 9:30至17:30 周六13:30至17:30,其它日期按国家法定节假日休假,如果有不便之请敬请谅解! 售后技术支持:多部门7*24小时机制

客户投诉留言

电话和QQ,以便我们为您提供优质服务! *为必填项