配置nginx反向代理

我的环境是一台centos7的腾讯云服务器,同时安装了nginx和tomcat,配置反向代理以将对nginx的请求转发给tomcat处理。

反向代理不仅可以使用tomcat,诸多其他服务器,如jetty都可以。

反向代理的作用有很多,可以把静态文件交由nginx来进行处理,作为静态服务器,这样可以方便缓存那些静态文件,比如CSS,JS,html,htm等文件。还可以配置负载均衡,虚拟主机,FastCGI等功能。

下边详细介绍如何配置反向代理。nginx的安装过程,参见nginx官网安装指南 ,tomcat安装,请参考Apache tomcat 官方指南 

首先来看一下nginx配置文件中我们需要了解的几个配置项

server {

listen      80 default_server;

listen      [::]:80 default_server;

server_name  localhost;

root        /usr/share/nginx/html;

# Load configuration files for the default server block.

include /etc/nginx/default.d/*.conf;

location / {

proxy_pass http://localhost;

}

error_page 404 /404.html;

location = /40x.html {

}

error_page 500 502 503 504 /50x.html;

location = /50x.html {

}

}

这段代码在server里面,相当于一个代理服务器,当然可以配置多个。

下面我们仔细来分析一下:

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

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

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

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

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

下面的error_page是代表错误的页面,这里我们暂时不用,先不管它。

那我们知道了具体的配置了,怎么让它访问localhost时转到tomcat时。实际上就修改两个地方:

server_name localhost:8080;

location / {

  proxy_pass http://localhost:8080;

}

检查nginx配置是否正确(这一步也可以省略)

nginx -t

重新加载nginx配置文件

nginx -s reload

重新访问服务器ip或域名,原来的nginx服务器的web界面就会变成tomcat的web界面。

参考:nginx官网指南 

你可能感兴趣的:(配置nginx反向代理)