ngnix反向代理tomcat,动静态分离
一个最简单的登录为例子, 后台有springMVC写好的controller接口访问路径为customerMobile/login.m。 为何是.m呢?因为是手机端嘛!mobile! 发布在tomcat下面 前台也静态页面login.html 那么nginx+Tomcat各自需要做什么事情呢? tomcat负责动态的请求或者页面,nginx负责静态的页面或者资源。 也就是说tomcat负责springMVC的controller、以及JSP。nginx则负责HTML、图片、flash等等静态资源。 如上所说,我们的项目(java写的后台)应该发布到tomcat下面,而我们的静态页面则发布到nginx下面。 关于springMVC的后台项目怎么发布不在累述了 1、nginx的安装 机器是window,去官网下载对应os的nginx,下载后解压 继而启动nginx,dos下面到nginx的安装目录(就是之前解压的目录)。运行如下命令 画面会一闪而过,根据以往启动各种软件的经历这是启动失败了,但是这一次并不是,如果一闪而过证明启动成功了。可以看任务管理器里面是不是有了nginx的进程,如果有则确保无疑启动成功。下图如示 nginx的默认端口是80,启动之后可以访问127.0.0.1,讲道理可以看到一个nginx的欢迎界面。如图 如果不是后妈生的,应该都能成功看到这个界面。至此nginx的安装结束。 关于nginx的配置,在nginx的安装目录下有一个conf文件夹,里面有一个nginx.conf的文件,打开可以看到下图(当然这个图片是我本机的,已经改过的,但是默认的文件也差不多,我无非加了一点东西) listen:80端口,所有80端口的请求都会监听(也就是你在浏览器输入http://localhost:80会请求到nginx) server_name:生产环境中的域名,开发时候就写localhot root:ngnix的root目录,相当于tomcat的webapps目录,这里指定的是ngnix下面的html目录 index则是首页相当于J2EE项目中的welcome.html 当然ngnix每次完成修改后只需要reload一下便可以,不需要重启 下面 location ~ .(html|gif|jpg|jpeg|png|bmp|swf)$意思是所有静态资源都是由ngnix处理的,比如localhost/login.html则ngnix会到root目录(即html目录下面找login.html)如果找不到则404. 而 location ~ .(jsp|m|s)$ { proxy_pass http://local_tomcat; } local_tomcat; 是上面指定的一个tomcat,其实上面可以指定两个,作为热备,但是不是现在的主题。意思是所有动态资源会走 proxy_pass http://local_tomcat; 也就是localhost:8080而localhost:8080就是我们启动的tomcat。如此便做到了动静态分离。当然也可以做负责均衡和双击热备,不是现在的主题。主题是ngnix的反向代理。 现在有一台tomcat是启动的,有一台ngnix是启动的,访问localhost:8080/loing.m是访问tomcat,所谓反向代理即访问nginx,通过nginx代理访问tomcat,也就是在浏览器输入localhost/login.m是通过ngnix返回tomcat的localhost:8080/loing.m,但是如果输入localhost/loing.html则不会访问tomcat,直接访问的是ngnix的HTML目录下面的login.html。 看图说话 第一次访问login.html ,走的是ngnix,登录的时候发了一个ajax请求,走的是后台。进断点了,走的tomcat,如果完成了ngnix的反向代理和动静态分离 原文链接:谭先生 |
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。
- 上一篇: 大型网站之网站静态化(反向代理)
- 下一篇: Javascript 数组循环遍历之forEach