使用Nginx+Tomcat实现分离部署

1.基本概念

  Nginx是一款 轻量级的 Web 服务器/ 反向代理服务器及 电子邮件(IMAP/POP3)代理服务器,由俄罗斯的程序设计师Igor Sysoev所开发,供俄国大型的入口网站及搜索引擎Rambler(俄文:Рамблер)使用。

  反向代理(Reverse Proxy):是指以代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络上的服务器,并将服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外就表现一个反向代理服务器。

  Nginx特点是占有内存少, 并发能力强,且Nginx处理静态页面的效率远高于tomcat,分离部署就是通过nginx(或apache等)来处理用户端请求的静态资源,tomcat(或weblogic)处理动态资源,从而达到动静页面访问时由不同的容器来处理。如下图(百度盗的图):

2.准备工作

Windows操作系统;

JDK软件包版本:JDK_1.8.0_64bit.exe;

Tomcat软件包版本:apache-tomcat-9.0.0.M22;

Nginx软件包版本:nginx_1.13.2(nginx要求必须解压在非空格的路径中);

注意

1.环境变量必须配置JAVA_HOME

2.启动Nginx,窗口会一闪而过,可通过任务管理器查看

3.Nginx基本命令

  nginx start  启动 ;

  nginx -s stop/quit  stop是快速停止nginx,可能并不保存相关信息,quit是完整有序的停止nginx,并保存相关信息;

  ngxin -s reload  重新载入;

  nginx -t  修改了配置文件nginx.conf后最好先检查一下修改过的配置文件是否正 确,以免重启后Nginx出现错误影响服务器稳定运行;

  

4.nginx.conf配置中文件路径的定义配置项

  有两种方式:可参考《深入理解Nginx模块开发与架构解析》2.4.2文件路径的定义。

  1):以root方式设置资源路径,默认 root html, 配置块:http、server、location、if

    如: location /img {
        root  user/local/static;
      }

  2):以root方式设置资源路径, 配置块:location

    如: location /img {
        alias  user/local/static/img;
      }

    使用alias时,在URI向实际文件路径的映射过程中,已把location后配置的/img这部分字符串丢弃掉,因此,/static/img/background.png请求将根据alias path映射为user/local/static/path/background.png。root则会根据完整的URI请求来映射。

 

 3.nginx.conf配置及响应文件资源部署

  nginx.conf配置文件:

  

 

  其中图片文件部署在:F:\comeOn\nginx_1.13.2\static;

  html和js文件部署在:F:\comeOn\apache-tomcat-9.0.0.M22\webapps\planeWars;

  

 

 4.打开chrome浏览器测试:文件正常加载,项目运行正常。

  如图,部署在不同路径下的资源正常加载,由此可见:动态资源请求由nginx转发到Tomcat服务器,交由Tomcat处理,再有nginx将结果返回给请求端。