文章版权由做者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/css
项目中瓦片资源愈来愈多,若是提升瓦片的访问效率是一个须要解决的问题。这里,咱们考虑使用Nginx来代理静态资源进行初步解决。html
Nginx ("engine x") 是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP服务器。Nginx是由Igor Sysoev为俄罗斯访问量第二的Rambler.ru站点开发的。nginx
何为反向代理呢?即以代理服务器来接受internet上的链接请求,而后将请求转发给内部网络上的服务器,并将从服务器上获得的结果返回给internet上请求链接的客户端,此时代理服务器对外就表现为一个服务器。windows
而Nginx主要完成的工做就是反向代理,好比咱们向一台服务器的80端口发送了请求,该请求首先由Nginx监听到,其接受到请求内容后再转发给其余服务器,其余服务器处理完后再将结果传送给Nginx,最后由Nginx来统一返回给初始请求端。缓存
Nginx最多见的使用方法就是做为静态资源伺服器,好比将CSS,JS,html,htm等文件进行缓存处理。tomcat
首先在官网中下载所需版本:http://nginx.org/en/download.html。目前我使用的版本是windows环境下的1.9.15。服务器
下载完毕后,解压。微信
开启Nginx有两种方法,一种是直接点击开启,一种是命名行开启。网络
a.点击开启:jsp
b.命名行开启:
开启成功后,在资源管理中能够看到:
出现启动失败问题,通常是端口冲突问题,好比win7下的IIS已经启动并占用了80端口。在config目录下找到nginx.conf,打开文件进行以下修改:
其中的配置为:
其表示监听8010端口请求后,会首先去html文件夹下寻找index.html页面。
listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,若是咱们配置了多个server,这个listen要配置不同,否则就不能肯定转到哪里去了。
server_name:表示监听到以后须要转到哪里去,这时咱们直接转到本地,这时是直接到nginx文件夹内。
location:表示匹配的路径,这时配置了/表示全部请求都被匹配到这里
root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对咱们以后的静态文件伺服颇有用。
index:当没有指定主页时,默认会选择这个指定的文件,它能够有多个,并按顺序来加载,若是第一个不存在,则找第二个,依此类推。
经过proxy_pass配置请求转发地址。即当访问localhost的8010端口时,请求会跳转至localhost的8080端口处。修改完Nginx的配置后不须要重启Nginx,输入以下命令便可:
测试以下:
上面咱们直接试了一个小例子,让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首页中。
当一台服务器出现故障后,咱们须要将请求自动转向另外一台服务器,此种需求该如何配置呢?利用Nginx也是比较方便可以实现,具体配置以下:
注意,上面还加上了一个weight属性,此属性表示各服务器被访问到的权重,weight越高访问到的概率越高。
-----欢迎转载,但保留版权,请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/
若是您以为本文确实帮助了您,能够微信扫一扫,进行小额的打赏和鼓励,谢谢 ^_^