`
kaowww153
  • 浏览: 74502 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
文章分类
社区版块
存档分类
最新评论

Nginx与tomcat组合的简单使用

 
阅读更多

文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处: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

 

分享到:
评论

相关推荐

    Nginx+tomcat+redis

    在构建高性能、高可用性的Web服务时,"Nginx+Tomcat+Redis"的组合是一种常见的架构模式。这个架构充分利用了每个组件的优势,以实现高效的数据处理、动态内容渲染和负载均衡。以下是对这套技术栈的详细解释: 1. **...

    Nginx+tomcat

    其中,Nginx 和 Tomcat 组合是一种非常常见的实现方式。本文将详细介绍如何通过 Nginx 和 Tomcat 来构建一个高性能的负载均衡集群。 #### 二、工具准备 - **Nginx 版本**: 1.8.0 - **Tomcat 版本**: 6.0.33 #### ...

    nginx实现Tomcat反向代理

    在IT行业中,尤其是在服务器部署和优化领域,Nginx与Tomcat的组合是常见的解决方案,因为它们各自在处理不同类型的请求上具有优势。Nginx以其高性能、低资源消耗著称,适合处理静态内容和反向代理任务;而Tomcat作为...

    Nginx+Tomcat9搭建负载均衡实例,解压即可运行

    总结,本实例通过Nginx和Tomcat9的组合,实现了一个简单的负载均衡环境。Nginx作为反向代理,处理客户端请求并分发给后端的Tomcat9实例,从而提高了服务的可用性和效率。实际生产环境中,可以根据需要扩展更多的...

    nginx TOMCAT 文件下载 上传 进度条 缓存

    总之,Nginx与Tomcat的组合使用能够构建高效的Web服务架构,处理文件下载、上传,通过进度条提供更好的用户体验,并通过合理的缓存策略减轻服务器负担。理解并熟练运用这些技术,对于提升Web应用的性能和用户体验至...

    NGINX和tomcat配置

    总的来说,Nginx与Tomcat的组合可以构建一个高效、可扩展的Web服务器集群,适用于大型网站或高流量应用。理解它们各自的特点和适用场景,以及如何配置它们协同工作,对于IT专业人士来说至关重要,可以为搭建和优化...

    Windows+Nginx+Tomcat搭建负载均衡和集群环境同时实现

    本教程将探讨如何在Windows环境下,利用Nginx作为反向代理和负载均衡器,与Tomcat应用服务器配合,搭建一个负载均衡和集群环境。这种配置能够提升系统的稳定性和处理能力,确保即使在服务器压力大的情况下,也能为...

    nginx+tomcat集群简单参考

    在构建高性能、高可用性的Web应用系统时,`nginx` 和 `tomcat` 的组合是一个常见选择。`nginx` 以其强大的反向代理、负载均衡和静态资源处理能力,配合 `tomcat` 的Java应用服务器功能,可以形成一个高效且灵活的...

    Nginx+Tomcat+Memcached实现tomcat集群和session共享.docx

    在Tomcat服务器上,也需要配置session复制或者使用`MemcachedSessionManager`,以便与Nginx共享session数据。 总结,通过Nginx的反向代理和负载均衡功能,以及Memcached作为session共享的中间层,可以构建一个高效...

    集群Nginx+Tomcat+Memcached

    **Nginx+Tomcat**组合常用于构建高性能的Java Web应用程序集群。Nginx作为前端反向代理服务器,负责接收客户端请求并将它们分发给后端的多个Tomcat实例处理。 - **集群架构**: - **负载均衡**:Nginx可以通过轮询...

    nginx + tomcat7 + memcached集群环境包共享

    在构建高性能、高可用性的Web服务时,"nginx + tomcat7 + memcached"的组合是一种常见的架构模式。这个配置主要是利用Nginx作为前端负载均衡器和静态资源服务器,Tomcat7作为后端Java应用服务器,而Memcached作为...

    nginx_memcached_tomcat集群工具及配置文件

    随着流量的增长,可以简单地添加更多的Tomcat实例,而Nginx会自动将负载分散到新的节点上。同时,通过Memcached缓存热数据,可以显著减少数据库的读取,进一步提高系统性能。 总之,"nginx_memcached_tomcat集群...

    tomcat结合nginx使用小结.pdf

    尤其在与Java应用服务器Tomcat结合使用时,Nginx展现出了强大的优势。 #### 二、Nginx与反向代理的基本概念 **1. Nginx简介** Nginx是一款开源的Web服务器,最初由俄罗斯程序员Igor Sysoev开发,旨在解决C10K问题...

    nginx+tomcat+memcached实现session共享

    标题 "nginx+tomcat+memcached实现session共享" 涉及的是在分布式环境中如何通过组合使用这三种技术来管理用户的会话数据。这个话题对于构建高可用、高性能的Web应用系统至关重要,尤其是在大型网站和企业级应用中。...

    nginx+tomcat7+memcached所需jar

    "nginx+tomcat7+memcached所需jar"的组合提供了一种解决方案,利用Memcached作为分布式缓存来实现跨服务器的session共享,提高系统的可扩展性和可用性。这个组合的关键在于`memcached session manager`,它使得...

    nginx+tomcat+redis +redis客户端 等负载均衡资料

    `nginx`负责流量分发,`tomcat`处理业务逻辑,`redis`提供高速缓存,而`redis客户端`使得与`redis`的交互变得简单。这样的组合可以应对各种复杂的负载均衡需求,保证服务的稳定性和高性能。通过深入理解和熟练掌握...

    nginx+tomcat7+memcached集成 负载均衡初体验

    在这个组合中,nginx作为前端反向代理服务器,负责负载均衡;Tomcat7是Java应用服务器,用于运行Java Web应用;而Memcached则是一个高性能的分布式内存对象缓存系统,用于减轻数据库的负载。 首先,让我们详细了解...

    IIS、Apache、Tomcat、Nginx、CDN,它们之间有何区别

    IIS(Internet Information Services)、Apache、Tomcat、Nginx和CDN(内容分发网络)是IT领域中常见的几个技术名词,它们各有各的用途和特点。 IIS是微软公司开发的一个Web服务器软件,它是Windows操作系统的一个...

    tomcat6+nginx1.8搭建的负载均衡

    在IT行业中,构建高效、可扩展的Web服务是至关重要的,而“tomcat6+nginx1.8搭建的负载均衡”就是一种常见的解决方案。这个配置结合了Tomcat(一个流行的Java Servlet容器)和Nginx(一款高性能的HTTP和反向代理...

Global site tag (gtag.js) - Google Analytics