Nginx根据域名分发不同端口
程序员文章站
2022-05-06 20:37:30
...
转载请标明出处:
原文首发于:http://www.zhangruibin.com
本文出自RebornChang的博客
根据域名分发不同端口
需求背景
博主有买了两个域名,但是只购买了一个主机,主机只有一个80端口,但是又不想访问的时候带端口访问,所以就想着通过不同的域名请求访问不同的端口。
实现方式nginx代理分发
在一个主机上部署了两个服务实例,分别是81,82端口。域名经过DNS解析之后访问的是指定服务器IP的80端口,所以实现方式就是在域名服务进行DNS解析的时候,访问指定服务器的80端口,使用NGINX监听80端口的信息,如果是zhangruibin.com就转发到82端口上,如果是92cnb.com就转发到81端口上。
安装NGINX
安装NGINX很简单,网上有很多的教程,此处不再赘述,可以参考博文:https://www.cnblogs.com/kaid/p/7640723.html。
注意:1.安装NGINX的主机,80端口必须空闲,因为NGINX默认占用端口为80端口。否则会在启动NGINX的时候报错。
2.部署的服务对应的端口一定要开启,看系统使用的是Firewalls还是iptables。
配置NGINX
编辑NGINX的conf文件夹下面的nginx.conf文件
vim /usr/local/nginx/conf/nginx.conf
因为博主的要分发的是两个域名,所以设置:worker_processes 2;
另外需要复制一份server{}并且修改两个server{}里面的内容:
server {
listen 80;
server_name www.92cnb.com 92cnb.com ;
location / {
# 反向代理到 81 端口
proxy_pass http://127.0.0.1:81;
add_header Access-Control-Allow-Origin *;
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name www.zhangruibin.com zhangruibin.com;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
# 反向代理到 82 端口
proxy_pass http://127.0.0.1:82;
add_header Access-Control-Allow-Origin *;
root html;
index index.html index.htm;
}
#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;
}
}
保存之后,使nginx重新加载配置文件:./nginx -s reload
此时再访问域名,就分发到了指定的端口。
效果如下图所示:
Over!
上一篇: 52周存款挑战——可以任选几周的钱
下一篇: VUE登录,注册