配置nginx反向代理

作者: 奋斗青春无悔 | 来源:发表于2017-01-23 13:40 被阅读104次

    我的环境是一台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反向代理

        本文链接:https://www.haomeiwen.com/subject/gvjabttx.html