Nginx实现反向代理(同一服务器下不同端口服务映射到80端口)

本文欢迎转载,转载请注明出处,谢谢! http://blog.csdn.net/colton_null 作者:喝酒不骑马 Colton_Null from CSDN


前言

之前发布过一篇如何在Tomcat中配置二级域名。现在发现几个月前的我太年轻了(哎,过几个月后我同样还会说现在的我很年轻,哈哈)。Tomcat确实可以配置二级域名,将不同二级域名的请求配置到不同的服务。但前提是这些服务都放在一个Tomcat里运行,如果其中一个服务需要更新重新部署,那这个Tomcat下其他的应用不也跟着一起停服了么。

好在之前那个项目,都是一些静态资源,所以直接在一个Tomcat下配置也无妨。

那怎么样才能实现如下的需求:只有一台服务器,里面部署了3个web应用。3个web应用分别部署在不同端口下的Tomcat中,假设端口为8080,8081,8082。通过访问www.mayuzhe.com访问的是8080端口服务,访问admin.mayuzhe.com访问的是8081的服务,访问video.mayuzhe.com访问的是8082的服务。

总不能让用户访问的时候带着端口号(例如:www.mayuzhe.com:8081)进行访问吧?所以在这里,就需要一种工具,将原本对80端口的请求分别映射到服务器内部不同的端口。这个功能用Nginx即可实现。

Windows下安装Nginx

因为这次项目用的服务器是Win Server 2008的,所以这里重点介绍一下windows下Nginx环境的搭建。

首先去Nginx官网http://nginx.org/en/。点击右侧【download】,选择Mainline version下的Windows版本。我在写这篇博客时的的nginx版本是nginx/Windows-1.13.6。

下载后解压zip压缩包,将nginx-1.13.6文件夹拷贝到你自定义的一个目录中即可,我的是D:\dev_env\nginx

现在,就可以运行nginx服务了。

配置反向代理

不过在运行服务之前,需要先配置一下反向代理。
打开nginx-1.13.6/conf目录。编辑nginx.conf文件。

在http{}中填下一个server{}

http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

#这里添加反向代理server配置代码
    server {
        listen 80;
        server_name www.mayuzhe.com;
        location / {
            proxy_pass http://127.0.0.1:8080;
        }
    }

重点就是这个server{}

这里listen代表监听对80端口的请求。
server_name为访问的域名。
proxy_pass是需要映射到哪个服务的哪个端口下。

添加完后,保存conf文件。
至此,反向代理就配置完了。

大功告成

在本地启动一个Tomcat,端口号为8080.
修改hosts文件,添加127.0.0.1 www.mayuzhe.com
启动Nginx服务
然后在浏览器访问 www.mayuzhe.com ,不出意外的话就能出现tomcat的默认界面了。

有关Nginx的基本命令

在nginx目录下,摁住shift + 点击右键,选择【在此处打开命令窗口】
1.启动
start nginx 或者 nginx.exe

2.停止
nginx.exe -s stop 或者 nginx.exe -s quit
其中,stop是立即结束服务,不保存相关信息;quit则是保存相关信息并按流程退出nginx服务。

3.重启nginx
nginx.exe -s reload

4.查看nginx版本
nginx -v

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值