Nginx怎么为Tomcat服务器作反向代理(nginx怎么实现反向代理)

Nginx怎么为Tomcat服务器作反向代理(nginx怎么实现反向代理)

浏览次数:
信息来源: 用户投稿
更新日期: 2025-10-25 13:40:22
文章简介

1)要用到的软件当然要下载啦。到nginx官网下一个。http://nginx.org/en/download.html可以到这里去下。我现在用的版本是1.1.7,但基本上以后的版本都兼容,而且

2025阿里云双十一服务器活动

1)要用到的软件当然要下载啦。到nginx官网下一个。http://nginx.org/en/download.html可以到这里去下。我现在用的版本是1.1.7,但基本上以后的版本都兼容,而且我们用到的并不涉及到太底层的,应该不会有什么变化。这里,由于我的是windows,当然下windows版啦。下完后首先要启动吧。进入到nginx文件夹,直接startnginx就ok了。比如我下载后放在d:\software\developertools\server

ginx-1.1.7,直接cmd后cdd:\software\developertools\server

ginx-1.1.7,有些不习惯命令行的可能会奇怪,它没有进行到那个文件夹。windows并不会在分区间跳转,除非你自己指定了。所以我们要直接d:如下:

我们可以看到nginx启动成功,现在访问是直接进到nginx的目录里面了。那么这些实际上是在哪里配置的。这就涉及到nginx的一个重要配置文件nginx.conf了。2)我们可以看到nginx文件夹内有一个conf文件夹,其中有好几个文件,其他先不管,我们打开nginx.conf,可以看到一段:

这段代码在server里面,相当于一个代理服务器,当然可以配置多个。下面我们仔细来分析一下:listen:表示当前的代理服务器监听的端口,默认的是监听80端口。注意,如果我们配置了多个server,这个listen要配置不一样,不然就不能确定转到哪里去了。server_name:表示监听到之后需要转到哪里去,这时我们直接转到本地,这时是直接到nginx文件夹内。location:表示匹配的路径,这时配置了/表示所有请求都被匹配到这里root:里面配置了root这时表示当匹配这个请求的路径时,将会在这个文件夹内寻找相应的文件,这里对我们之后的静态文件伺服很有用。index:当没有指定主页时,默认会选择这个指定的文件,它可以有多个,并按顺序来加载,如果第一个不存在,则找第二个,依此类推。下面的error_page是代表错误的页面,这里我们暂时不用,先不管它。那我们知道了具体的配置了,怎么让它访问localhost时转到tomcat时。实际上就修改两个地方:

server_namelocalhost:8080;

location/{proxy_passhttp://localhost:8080}

location~.jsp${proxy_passhttp://localhost:8080;}

location~.(html|js|css|png|gif)${rootd:/software/developertools/server/apache-tomcat-7.0.8/webapps/root;}

location~.jsp${proxy_passhttp://localhost:8080;}

Nginx怎么为Tomcat服务器作反向代理,nginx怎么实现反向代理

而且图片那些都显示正常,因为图片是png的,所以直接在tomcat/webapps/root目录下直接查找,当然,如果我们点击managerapplicationhow-to这个链接,我们发现:

它还是找不到,为什么呢?因为这是个html页面,但它并不在root目录下,而是在docs目录下,但当我们匹配html时,我们却到root目录下去找,所以还是找不到这个页面。一般情况下,如果我们需要用nginx来进行静态文件伺服,一般都会把所有静态文件,html,htm,js,css等都放在同一个文件夹下,这样就不会有tomcat这样的情况了,因为tomcat下的是属于不同的项目,这个我们就没办法了。3)有些人会说,这些都只会找一台服务器,但如果我们想在一台服务器挂了的时候,自动去找另外一台,这怎么办?这实际上nginx都考虑到了。这时,我们之前用的proxy_pass就有大用途了。我们把之前的第一个例子,即全部都代理的修改一下:最后修改如下:

upstreamlocal_tomcat{serverlocalhost:8080;}

server{location/{proxy_passhttp://local_tomcat;}

upstreamlocal_tomcat{serverlocalhost:8080;}

server{location/{proxy_passhttp://local_tomcat;}

}

upstreamlocal_tomcat{serverlocalhost:8080;serverlocalhost:9999;}

upstreamlocal_tomcat{serverlocalhost:8080;serverlocalhost:9999;}

upstreamlocal_tomcat{serverlocalhost:8080weight=1;serverlocalhost:9999weight=5;}

upstreamlocal_tomcat{serverlocalhost:8080weight=1;serverlocalhost:9999weight=5;}

以上就是Nginx怎么为Tomcat服务器作反向代理的详细内容,更多请关注主机测评网其它相关文章!

标签:
托管服务是什么意思(法律托管服务是什么意思)
« 上一篇
返回列表
下一篇 »

如本文对您有帮助,就请抽根烟吧!