一個服務(wù)器需要掛載多個項目【重點是都能通過域名訪問】
實現(xiàn)原理:
1.當前市面上看到的一些服務(wù)器,開放的端口一般都要求為 ’80’ 端口 所以80端口成了商用端口
2.域名的綁定是綁定一個一般是綁定你的服務(wù)器ip地址
3.使用服務(wù)器的80端口攔截訪問的域名是什么跳轉(zhuǎn)至服務(wù)器的其他
舉例
- 只有一臺服務(wù)器,一個IP;
- 服務(wù)器上有多個應(yīng)用運行在不同的端口。例如:
- 127.0.0.1:4000 運行著一個博客應(yīng)用
- 127.0.0.1:3009 運行著一個微信公眾號機器人的后臺希望不同的域名,都解析到該IP的80端口,但是轉(zhuǎn)發(fā)到不同的端口去:
- www.baidu.com 能訪問到127.0.0.1:4000的應(yīng)用
- 新增一個Ai.baidu.com 能訪問到127.0.0.1:3009的微信后臺(微信要求綁定服務(wù)器時綁定的是80端口)
這里給出 Nginx 的幾個命令 更改之后需要重啟你的Nginx 反向代理!
(1)vim編輯nginx的nginx.conf(反向代理配置文件)
sudo vi /etc/nginx/nginx.conf
(2)使用下面命令安裝nginx
yum install nginx
(3)啟動Nginx
service nginx start
或
systemctl start nginx.service
(4)重啟nginx
service nginx restart
具體步驟
1. 在Nginx的conf中添加upstream
指向第二個應(yīng)用的本機地址。
upstream baidu{
server 127.0.0.1:3009;
}
附上原有的第一個應(yīng)用的upstream。
upstream Ai.baidu{
server 127.0.0.1:3009;
}
2. 在Nginx的conf中添加二級域名主機頭80端口的偵聽
PS:本例中,要新添加的解析二級域Ai.baidu.com
端口號為80
server_name 精確匹配到二級域名(本例中為Ai.baidu.com。其他規(guī)則或www也可以,只要與域名商處解析行為一致即可)
再給conf添加如下1個server:
server {
listen 80;
server_name www.baidu.com;
location / {
proxy_pass http://baidu;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
server {
listen 80;
server_name Ai.baidu.com;
location / {
proxy_pass http://Ai.baidu;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}