需求:服務器上面運行多個項目;實現每個二級域名訪問對應項目;
服務器:阿里雲服務器;域名:阿里雲注冊;
配置域名解析
即配置DNS解析。一定要首先配置,否則訪問不到二級域名;
登錄阿里雲后台,要在域名解析上面添加主機記錄值(即你要設置的二級域名名稱)
配置Nginx
進入你的Nginx的 /conf
配置文件夾中,編輯 nginx.conf
文件
文件結構如下:
http {
(全局的配置參數...)
server {
(本server的配置參數...)
}
server {
(本server的配置參數...)
}
(全局的配置參數...)#可添加include vhost/*.conf;
}
關於server位置:
-
可以將所有的server配置都寫在nginx.conf配置文件中;
-
也可另外定義一個文件夾存放配置文件,將配置文件包含進主配置文件中即可;
我的做法:新建一個
vhost
文件夾來放配置文件;在主配置文件寫上include vhost/*.conf;
表示主配置文件引用它;
配置server
- 通過代理轉發配置:
即通過nginx轉發到你想訪問的項目;
server {
listen 80;
server_name demo.test.com;#你的二級域名;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $http_host;
proxy_pass http://127.0.0.1:8000; #你啟動的服務的ip:端口號;
}
}
這樣配置之后可以通過Nginx轉發到對應ip端口上運行的項目;
- 通過根目錄配置:
你也可以通過指定項目的根目錄來配置二級域名:
server {
listen 80;
server_name demo.test.com; # 要綁定的域名(或子域名)
root /home/www/; # 該網站的根目錄
location / { # 不用管
}
}
重啟Nginx
查看是否成功配置;
補充
default_server
http {
# 如果沒有顯式聲明 default server 則第一個 server 會被隱式的設為 default server
server {
listen 80;
server_name _; # _ 並不是重點 __ 也可以 ___也可以
return 403; # 403 forbidden;
}
server {
listen 80;#添加默認server:在后面加上default_server
server_name www.a.com;
...
}
}
Nginx 的 default_server 指令可以定義默認的 server 去處理一些沒有成功匹配 server_name 的請求;
參考:https://www.cnblogs.com/kuku0223/p/10740735.html
location
可以指定多個項目;
location /Demo01 {
......#項目1;根目錄,代理轉發
}
location /demo02 {
......
}
參考:
https://blog.csdn.net/xuxile/article/details/51705372
https://blog.csdn.net/lizhiyuan_eagle/article/details/90639448