目標
在瀏覽器輸入網址 abc.com
或 www.abc.com
時,能看到自己的網站。
流程介紹
- 讓 Nginx 設定檔,指向自己的網域
- 在自己租網域的地方,設定讓網域連到 Linode 主機 IP
- 為網域申請 HTTPS 憑證
- 測試
1. 讓 Nginx 設定檔,指向自己的網域
sudo vim /etc/nginx/sites-available/abc.com
把 server_name
從 192.xx.xx.xx
,改成 abc.com www.abc.com
:
server {
listen 80;
server_name abc.com www.abc.com; # 原本是 192.xx.xx.xx
root /var/www/abc.com/public;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
當 Nginx 讀到這個檔案時,會把檔案送到 abc.com
和 www.abc.com
這兩個網址。
此時,在瀏覽器輸入 192.xx.xx.xx
應該就不會看到網頁了。
在自己租網域的地方,設定讓網域連到 Linode 主機 IP
打開自己租網域的網站,裡面有 DNS 設定。這是在設定網域要連到什麼主機。
主要調整兩個地方:A、CNAME。
- A(Address)代表原始網域本身,例如:
abc.com
。 - CNAME(Canonical Name)代表子網域,那我設定一個叫做
www
的子網域,所以叫做www.abc.com
。
把 A 指向 Linode 主機 IP,把 CNAME 指向原始網域 A:
@ A 192.xx.xx.xx
www CNAME abc.com
測試自己的網域,是否是連到 Linode IP:
dig abc.com +short
dig www.abc.com +short
為網域申請 HTTPS 憑證(Let’s Encrypt + Certbot)
sudo apt install certbot python3-certbot-nginx -y # 安裝 Certbot
sudo certbot --nginx -d abc.com -d www.abc.com