前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx实现单个或多个项目的反向代理

Nginx实现单个或多个项目的反向代理

作者头像
Damon小智
发布2024-02-03 10:49:06
5520
发布2024-02-03 10:49:06
举报
文章被收录于专栏:全栈文档库全栈文档库

Nginx在实际项目开发的应用场景中非常多,主要是用来实现反向代理的功能。反向代理就是指用户访问某个ip端口备通过域名或者二级地址,无感转发到另一个全新的端口,展示那个端口上部署的项目。本文将介绍如何配置Nginx服务器实现反向代理。

一、安装Nginx

参考我之前写过的文章:Windows安装Nginx

二、Nginx反向代理逻辑示意图

image 1 - Nginx实现单个或多个项目的反向代理
image 1 - Nginx实现单个或多个项目的反向代理

三、配置Nginx,实现单个项目反向代理

我们这里要配置Nginx\conf\nginx.conf文件。

找到sever的参数。

listen:监听的端口;

(监听端口需要避免占用,尤其是win-server,需要关闭IIS在80端口的默认项目)

server_name:监听的域名(填写localhost即为公网IP);

location里proxy_pass:设置转发的目标地址;

代码语言:javascript
复制
server {
    listen       80;
    server_name  localhost;

    #charset koi8-r;

    #access_log  logs/host.access.log  main;

    location / {
       http://124.xxx.xx.21:8080/pages/index.html;  # 设置转发的目标地址
    }

    #error_page  404              /404.html;

    # redirect server error pages to the static page /50x.html
    #
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
        root   html;
    }
}

这里给出的例子的意思是:当收到公网IP的访问时,转发请求到http://124.xxx.xx.21:8080/pages/index.html

四、配置Nginx,实现多个项目反向代理

下面是带有多个server的写法:

代码语言:javascript
复制
	upstream lanxin{
		server localhost:8080;
	}
	
	upstream damon{
		server localhost:8081;
	}
	
    server {
        listen       80;
        server_name  lanxinyun.com;

        location / {
			proxy_pass http://lanxin;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       80;
        server_name  damon-liu.work;

        location / {
			proxy_pass http://damon;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

80端口监听,当访问域名为lanxinyun.com时跳转到8080端口发布的项目,damon-liu.work域名访问则跳转到8081端口发布的项目。

五、结束语

通过反向代理,我们实现了同一端口的复用(通过Nginx配置不同的域名监听,跳转到不同的项目),这在项目中非常常见,是当代程序员必备技能点。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2023-8-3,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
弹性公网 IP
弹性公网 IP(Elastic IP,EIP)是可以独立购买和持有,且在某个地域下固定不变的公网 IP 地址,可以与 CVM、NAT 网关、弹性网卡和高可用虚拟 IP 等云资源绑定,提供访问公网和被公网访问能力;还可与云资源的生命周期解耦合,单独进行操作;同时提供多种计费模式,您可以根据业务特点灵活选择,以降低公网成本。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档