隨著 Node.js 變得越來越流行,越來越多的開發者開始使用它來創建後端應用程式。 Ghost 是一個基於 Node.js 的開源部落格平台,它使用了許多流行的 Node.js 技術和函式庫來幫助用戶創建美觀而功能豐富的部落格。
本文將向您展示如何在 Ghost 上託管一個 Node.js 應用程序,以及如何為其配置自訂網域和 SSL 憑證。
步驟 1:選擇雲端伺服器
首先,您需要選擇一款雲端伺服器來託管 Ghost 應用程式。市場上有許多雲端伺服器供應商,如 AWS、DigitalOcean 和 Linode 等。本文將以 DigitalOcean 為例進行說明。
步驟 2:建立虛擬機器
在 DigitalOcean 上建立一個虛擬機器很簡單。請依照下列步驟操作:
DigitalOcean 將會為您建立並啟動一個全新的虛擬機器。
步驟 3:安裝 Node.js 和 Ghost
一旦您的虛擬機器處於活動狀態,您可以使用 SSH 連接到該虛擬機器並安裝 Node.js 和 Ghost。
更新軟體包清單並升級所有已安裝的軟體包:
sudo apt update sudo apt upgrade
#安裝Node.js:
curl -sL https://deb.nodesource.com/setup_14.x | sudo -E bash - sudo apt-get install -y nodejs
下載Ghost 並解壓縮:
curl -L https://ghost.org/zip/ghost-latest.zip -o ghost-latest.zip unzip -uo ghost-latest.zip -d ghost
在Ghost 目錄中安裝相依性:
cd ghost npm install --production
執行Ghost:
npm start --production
如果一切正常的話,您可以在瀏覽器中輸入伺服器的IP 位址Ghost 的預設連接埠2368,查看出現了Ghost 的安裝頁面。
步驟 4:設定自訂網域名稱和 SSL 憑證
預設情況下,Ghost 伺服器只能透過 IP 位址存取。如果您想為 Ghost 應用程式設定自訂網域和 SSL 證書,則必須執行下列步驟。
安裝 Nginx 作為 Ghost 的反向代理伺服器。
sudo apt-get install nginx
建立 Nginx 設定檔:
sudo nano /etc/nginx/sites-available/ghost
然後,輸入以下內容:
server { listen 80; listen [::]:80; server_name your_domain.com; location / { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto $scheme; proxy_pass http://127.0.0.1:2368; } }
這個設定檔將允許 Nginx 作為 Ghost 的網關。請注意將 your_domain.com
替換為您自己的網域。
讓Nginx 知道該設定檔的存在:
sudo ln -s /etc/nginx/sites-available/ghost /etc/nginx/sites-enabled/
重新啟動Nginx 服務:
sudo service nginx restart
#下載SSL 憑證
使用Letsencrypt Certbot 來申請憑證。在您的SSH 終端機中,執行以下命令:
sudo apt install certbot python3-certbot-nginx
然後,啟用該憑證:
sudo certbot --nginx
該命令將使用Nginx 設定檔中指定的網域名稱來給您的Ghost 應用程式產生SSL 憑證。
啟用 HTTPS
一旦您的 SSL 憑證啟用並驗證成功,您就可以設定 Ghost 應用程式只在 HTTPS 上執行。
先關閉 Ghost:
npm stop --production
在「server」部分新增以下內容:
"url": "https://your_domain.com", "server": { "port": 2368, "host": "127.0.0.1" }, "ssl": { "force": true }
#重新啟動Ghost:
npm start --production
以上是ghost nodejs 部署的詳細內容。更多資訊請關注PHP中文網其他相關文章!