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