將 Github 的 Hugo 專案移到 Linode (4) - 把網域改連到 Linode

目標

在瀏覽器輸入網址 abc.comwww.abc.com 時,能看到自己的網站。

流程介紹

  1. 讓 Nginx 設定檔,指向自己的網域
  2. 在自己租網域的地方,設定讓網域連到 Linode 主機 IP
  3. 為網域申請 HTTPS 憑證
  4. 測試

1. 讓 Nginx 設定檔,指向自己的網域

sudo vim /etc/nginx/sites-available/abc.com

server_name192.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.comwww.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
較新一篇 Vim 技巧整理
較舊一篇 將 Github 的 Hugo 專案移到 Linode (3) - 將 Linode 設為 Git Server
使用 Hugo 建立
主題 StackJimmy 設計