开发者社区> 李晓晖> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Nginx与tomcat组合的简单使用

简介: 文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 项目中瓦片资源越来越多,如果提高瓦片的访问效率是一个需要解决的问题。
+关注继续查看

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

1.背景

项目中瓦片资源越来越多,如果提高瓦片的访问效率是一个需要解决的问题。这里,我们考虑使用Nginx来代理静态资源进行初步解决。

2.Nginx简介

Nginx ("engine x") 是一个高性能的HTTP反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的。

何为反向代理呢?即以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。

而Nginx主要完成的工作就是反向代理,比如我们向一台服务器的80端口发送了请求,该请求首先由Nginx监听到,其接受到请求内容后再转发给其他服务器,其他服务器处理完后再将结果传送给Nginx,最后由Nginx来统一返回给初始请求端。

Nginx最常见的使用方法就是作为静态资源伺服器,比如将CSS,JS,html,htm等文件进行缓存处理。

3.环境搭建

3.1下载

首先在官网中下载所需版本:http://nginx.org/en/download.html。目前我使用的版本是windows环境下的1.9.15。

下载完毕后,解压。

3.2开启Nginx

开启Nginx有两种方法,一种是直接点击开启,一种是命名行开启。

a.点击开启:

                       

b.命名行开启:

 

开启成功后,在资源管理中可以看到:

 

3.3常见问题—启动失败

出现启动失败问题,一般是端口冲突问题,比如win7下的IIS已经启动并占用了80端口。在config目录下找到nginx.conf,打开文件进行如下修改:

 

4.初步使用

4.1用网页测试是否启动成功

 

其中的配置为:

 

其表示监听8010端口请求后,会首先去html文件夹下寻找index.html页面。

 

4.2详解部分参数含义

listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。

server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。

location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里

root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。

index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。

4.3配置tomcat跳转

 

 

通过proxy_pass配置请求转发地址。即当访问localhost的8010端口时,请求会跳转至localhost的8080端口处。修改完Nginx的配置后不需要重启Nginx,输入如下命令即可:

 

测试如下:

 

5.进一步使用

5.1静态文件分离配置

 

上面我们直接试了一个小例子,让nginx进行转发,即所谓的反向代理。但实际上我们的需求不会是这样的,我们需要分文件类型来进行过滤,比如jsp直接给tomcat处理,因为nginx并不是servlet容器,没办法处理JSP,而html,js,css这些不需要处理的,直接给nginx进行缓存。

      下面我们来进行一下配置,让JSP页面直接给tomcat,而html,png等一些图片和JS等直接给nginx进行缓存。

      这时最主要用的还是location这个元素,并且涉及到一部分正则,但不难,具体配置如下:

 

此时再直接输入localhost:8010,则会报404错误了。但是输入localhost:8010/index.jsp,则一样可以跳转至tomcat首页中。

 

5.2 负载配置

当一台服务器出现故障后,我们需要将请求自动转向另一台服务器,此种需求该如何配置呢?利用Nginx也是比较方便能够实现,具体配置如下:

 

注意,上面还加上了一个weight属性,此属性表示各服务器被访问到的权重,weight越高访问到的几率越高。

5.3其他配置

 

5.4关闭Nginx

 

 

                                                                            -----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/

                                                                               如果您觉得本文确实帮助了您,可以微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^

                                          

 

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
IDEA配置Tomcat和部署Web出现的错误
IDEA配置Tomcat和部署Web出现的错误
283 0
IDEA创建JavaWeb项目并配置Tomcat
IDEA创建JavaWeb项目并配置Tomcat
58 0
tomcat配置多域名站点启动时项目重复加载多次
在tomcat中配置多个Host的时候, 出现项目重复启动多次的情况. 刚开始以为是spring boot发布项目的时候自带了一个tomcat引起的, 后来发现不是
43 0
配置Tomcat时server.xml自动还原问题【Tomcat会删除自己在Servlet.xml 配置的Context元素】
配置Tomcat时server.xml自动还原问题【Tomcat会删除自己在Servlet.xml 配置的Context元素】
36 0
如何在 IDEA 中配置 tomcat,运行 web 项目?
如何在 IDEA 中配置 tomcat,运行 web 项目?对这个问题找了很久的答案,各种参差不全,其实非常的简单了,网上很多人的文章搞得很复杂,完全没必要。下面是我的采坑记录,写下来帮助大家。首先,需要确保: • JDK 环境已经安装 • Tomcat 已经下载好(不需要配置环境变量,下载一个压缩包解压出来就行)
150 0
【tomacat集群】Linux或 window配置多个Tomcat同时运行-完美解决-未来星开发团队-费元星
Linux系统下怎样配置多个Tomcat同时运行呢,首先修改变量为第一个tomcat,然后修改第二个tomcat启动的脚本 如何在同一系统里同时启动多个Tomcat    http://www.cnblogs.
832 0
手把手教你----MyEclipse中 配置 Tomcat
<div class="markdown_views"> <p></p> <div class="toc"> <ul> <li> <a href="#%E7%94%B5%E8%84%91%E4%B8%8A%E9%85%8D%E7%BD%AEtomcat%E6%9C%8D%E5%8A%A1%E5%99%A8">电脑上配置Tomcat服务器</a><ul> <li><a href=
1620 0
配置Tomcat以Debug模式启动了,但却只能本地用localhost连接调试
配置Tomcat以Debug模式启动了,但却只能本地用localhost连接调试! 在其它电脑上使用telnet也无法连接。 这里只能使用localhost或127.0.0.1, 这是什么原因呢? 问题就出在“address=localhost:8000”,如下图: 解决方案: 将localhost改为0.
685 0
+关注
李晓晖
GISer、Coder、Dreamer
文章
问答
文章排行榜
最热
最新
相关电子书
更多
《Nginx 代理系统常用手册》
立即下载
1._Alibaba_Cloud_Whitepaper_-_Data_Security_is_Now_More_Important_Than_Ever
立即下载
3D/AR技术在新零售商业场景中的应用
立即下载