部署子域名

Mira_2019發表於2024-07-07

先說說我犯的錯誤吧,老是忘記域名先要在 DNS 伺服器部署,再在 nginx 配置。

步驟:

1.將你想用的域名,在 DNS 伺服器備案。

舉個例子,

shoelesscai.com

en.shoelesscai.com

m.shoelesscai.com

2.專案資料夾如何確定?

shoelesscai.com ../html

en.shoelesscai.com ../html/en

m.shoelesscai.com ../html/mobile

3.使用 Linux 執行以下程式碼

我用的 CentOS,主要因為這個版本介面化比較好,很接近 WIndows。

執行 vim /etc/nginx/nginx.conf

4.伺服器部署如下

http {

/* server -1 */

server {

listen 80;

server_name shoelesscai.com;

root ../html;

index index.html;

location \ {

}

}

server {

listen 443; // https 埠

server_name shoelesscai.com;

root ../html;

index index.html;

location / {

}
}

/* server -2 */

server {

listen 80;

server_name en.shoelesscai.com;

root ../html/en;

index index.html;

location \ {

}

}

server {

listen 443; // https 埠

server_name en.shoelesscai.com;

root ../html/en;

index index.html;

location / {

}
}

/* server -3 */

server {

listen 80;

server_name m.shoelesscai.com;

root ../html/m;

index index.html;

location \ {

}

}

server {

listen 443; // https 埠

server_name m.shoelesscai.com;

root ../html/m;

index index.html;

location / {

}
}

}

5. 這裡涉及幾個問題。

第一,https 必須先配置 80 埠。

第二,如果配置完不用 443 ,則用 page_error 跳轉。

注意,https 是針對 SSL 產生的專用埠。

第三,443 埠是可以不部署的,即便你使用了 SSL。具體做法,自定義埠,並且羅列所以可能情況,如果有些情況預計到不能解決,則走 error_page。

6.為什麼一定要 DNS 伺服器配置

我們配置 vim /etc/nginx/nginx.conf

寫 server_name,至少 php 知道這是個域名吧。如果 DNS 伺服器不配置,php 就不知道這是個域名。

歡迎關注 ShoelessCai.com 。

相關文章