說實話......厭倦了讓您困惑的部署教學?是的,我也是。
看,我在幫助其他開發人員時注意到了一些事情 - 大多數指南都會跳過小但非常重要的步驟。你知道接下來會發生什麼事嗎?您在午夜遇到錯誤,打開 50 個瀏覽器標籤試圖找出問題所在。
這就是我建立本指南的原因。我將引導您完成部署伺服器的每個步驟。無論您是否正在與:
我將介紹那些通常會讓人絆倒的小細節。
把這想像成你的朋友坐在你旁邊,幫你部署伺服器而不費吹灰之力? .
卡在某個地方了嗎?只需在下面評論或直接給我留言即可。我真的回答了!
準備好以正確的方式部署您的伺服器了嗎?讓我們開始吧!
✅ 1.選擇託管提供者
從任何託管提供者購買 VPS 計劃。
✅ 2.取得憑證
無論您是自由工作者還是在辦公室工作,您都需要三樣東西:
範例:
568.82.48.166 root Subham@Xam_08
✅ 3. 透過終端連接
開啟終端機並輸入:
ssh root@568.82.48.166
✅ 4.驗證連線
您會看到這樣的訊息:
The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established. ED33319 key fingerprint is SHA256:kLP3I9......QgQI. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
只要輸入「是」即可。
✅ 5.輸入密碼
接下來會提示:
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
貼上您的密碼 (Subham@Xam_08) 並按 Enter。
(注意:輸入密碼時終端不會顯示任何字元。只需按 Enter 鍵即可。)
✅ 6.成功!
如果一切正確,您將看到:
Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Dec 21 11:56:39 PM UTC 2024 System load: 0.01555554443125 Processes: 292 Usage of /: 2.1% of 20000.02GB Users logged in: 0 Memory usage: 5% IPv4 address for kms160: 568.82.48.166 Swap usage: 0% * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge 137 updates can be applied immediately. To see these additional updates run: apt list --upgradable *** System restart required *** Last login: Mon Dec 9 06:55:53 2024 from 203.145.52.235 root@ajfaljflaf:~#
root@ajfaljflaf:~# 是什麼意思?
此提示確認您已以 root 使用者身分使用主機名稱 ajfaljflaf 登入伺服器。您現在已準備好執行命令並設定伺服器。
✅ 1.清理終端
登入後,輸入:
568.82.48.166 root Subham@Xam_08
✅ 2.驗證目錄
檢查目前目錄並列出檔案:
ssh root@568.82.48.166
範例輸出:
The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established. ED33319 key fingerprint is SHA256:kLP3I9......QgQI. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
✅ 3. 更新包裹清單
刷新軟體包清單以確保最新更新:
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
範例輸出:
Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Dec 21 11:56:39 PM UTC 2024 System load: 0.01555554443125 Processes: 292 Usage of /: 2.1% of 20000.02GB Users logged in: 0 Memory usage: 5% IPv4 address for kms160: 568.82.48.166 Swap usage: 0% * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge 137 updates can be applied immediately. To see these additional updates run: apt list --upgradable *** System restart required *** Last login: Mon Dec 9 06:55:53 2024 from 203.145.52.235 root@ajfaljflaf:~#
如果您遇到警告或錯誤,請查看它們以確保它們不會阻止重要的更新。
✅ 4. 升級已安裝的軟體包
安裝可用的更新和升級:
clear
提示範例:
pwd ls
輸入 yes 繼續。
✅ 5. 處理升級提示
升級過程中,您可能會看到設定提示:
(注意:切換選項需要使用tab鍵)
查看升級完成情況
成功升級後,您將看到有關重新啟動服務的訊息:
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
這確認服務已根據需要重新啟動或延遲。
✅ 1. 安裝 Node.js
若要安裝 Node.js,請執行:
sudo apt update
這將安裝 Node.js。
✅ 2. 安裝 Git
要安裝 Git,請運行:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] Ign:4 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy InRelease Err:5 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy Release 404 Not Found [IP: 185.125.190.80 443] Reading package lists... Done
✅ 3. 將您的儲存庫推送到 GitHub
如果您的程式碼尚未推送到 GitHub,請在本機上執行以下步驟:
sudo apt upgrade
其他有用指令:
124 upgraded, 13 newly installed, 0 to remove, and 0 not upgraded. Need to get 537 MB of archives. After this operation, 679 MB of additional disk space will be used.
注意:如果遇到驗證錯誤,您需要:
有關指導,請參閱本指南。
✅ 4. 克隆儲存庫
從 GitHub 複製 HTTPS 連結:
範例:
複製儲存庫:
568.82.48.166 root Subham@Xam_08
如果這是您第一次連接,您會看到以下訊息:
ssh root@568.82.48.166
✅ 5. 解決驗證問題
如果您遇到上述錯誤,請按照以下步驟操作:
安裝 GitHub CLI (gh):
The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established. ED33319 key fingerprint is SHA256:kLP3I9......QgQI. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
使用 GitHub 進行驗證:
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
依照提示操作:
提示範例:
Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Dec 21 11:56:39 PM UTC 2024 System load: 0.01555554443125 Processes: 292 Usage of /: 2.1% of 20000.02GB Users logged in: 0 Memory usage: 5% IPv4 address for kms160: 568.82.48.166 Swap usage: 0% * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge 137 updates can be applied immediately. To see these additional updates run: apt list --upgradable *** System restart required *** Last login: Mon Dec 9 06:55:53 2024 from 203.145.52.235 root@ajfaljflaf:~#
clear
✅ 6. 將 SSH 金鑰加入 GitHub
請參閱本指南將 SSH 金鑰新增至 GitHub。
✅ 7. 再次複製儲存庫
新增 SSH 金鑰後,複製您的儲存庫:
pwd ls
✅ 8.驗證克隆
克隆後,檢查儲存庫是否存在:
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
✅ 1.導覽至您的專案目錄
首先,列出用於定位您的專案的目錄:
sudo apt update
然後,進入您的專案資料夾:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] Ign:4 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy InRelease Err:5 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy Release 404 Not Found [IP: 185.125.190.80 443] Reading package lists... Done
提示: 輸入項目資料夾的前 2-3 個字母,然後按 Tab 鍵自動補全名稱。
✅ 2. 安裝專案依賴
在專案資料夾中執行以下命令來安裝必要的套件:
sudo apt upgrade
這可能需要幾分鐘,具體取決於項目的大小。
✅ 3. 設定 .env 檔案
如果您的專案沒有 .env 檔案(通常排除在非私人儲存庫中),您可以建立一個來儲存環境變數:
124 upgraded, 13 newly installed, 0 to remove, and 0 not upgraded. Need to get 537 MB of archives. After this operation, 679 MB of additional disk space will be used.
Restarting services... /etc/needrestart/restart.d/systemd-manager systemctl restart nginx.service polkit.service ssh.service udisks2.service Service restarts being deferred: systemctl restart networkd-dispatcher.service systemctl restart systemd-logind.service
✅ 4. 驗證.env設定
檢查您的 .env 檔案是否存在且配置正確:
sudo apt install nodejs
✅ 5.運行應用程式
最後,使用以下命令啟動您的應用程式:
sudo apt install git
或者,如果您使用框架或腳本,請遵循其特定命令,例如:
568.82.48.166 root Subham@Xam_08
注意:如果遇到錯誤,請檢查 .env 變量,檢查已安裝的依賴項,並尋找任何遺失的配置。
這是內容的重寫版本,具有更好的結構、清晰度和格式:
為了保持應用程式持續運行,您可以使用 PM2,它是 Node.js 應用程式的強大流程管理器。它允許零停機重新啟動並簡化 DevOps 任務。
執行以下指令全域安裝 PM2:
ssh root@568.82.48.166
如果您使用NestJS,請按照此詳細指南使用 PM2 部署您的 NestJS 應用:
?在 Linux Ubuntu 伺服器上使用 PM2 部署 NestJS 應用程式
如果您正在使用 Node.js 應用程序,您可以參考本指南:
?如何使用 PM2 啟動 Node.js 應用程式
設定完成後,輸入以下指令啟動伺服器:
The authenticity of host '568.82.48.166 (568.82.48.166)' can't be established. ED33319 key fingerprint is SHA256:kLP3I9......QgQI. This key is not known by any other names. Are you sure you want to continue connecting (yes/no/[fingerprint])?
開啟瀏覽器並導航至:
Warning: Permanently added '568.82.48.166' (ED25519) to the list of known hosts. root@568.82.48.166's password:
例如:
http://404.89.46.183:3333/xam
如果伺服器無法訪問,可能是由於防火牆問題。首先,使用以下命令驗證防火牆規則:
Welcome to Ubuntu 54.54.1 LTS (GNU/Linux 8.65.0-424-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage System information as of Sat Dec 21 11:56:39 PM UTC 2024 System load: 0.01555554443125 Processes: 292 Usage of /: 2.1% of 20000.02GB Users logged in: 0 Memory usage: 5% IPv4 address for kms160: 568.82.48.166 Swap usage: 0% * Strictly confined Kubernetes makes edge and IoT secure. Learn how MicroK8s just raised the bar for easy, resilient and secure K8s cluster deployment. https://ubuntu.com/engage/secure-kubernetes-at-the-edge 137 updates can be applied immediately. To see these additional updates run: apt list --upgradable *** System restart required *** Last login: Mon Dec 9 06:55:53 2024 from 203.145.52.235 root@ajfaljflaf:~#
此指令列出所有目前的防火牆規則。如果連接埠 3333 未列出或出現錯誤,您可以透過在 Stack Overflow 等平台或 GPT、Claude、Copilot 或 Llama 等工具上搜尋來確定問題。他們經常提供詳細的見解來解決特定問題。
如果防火牆阻止連接埠 3333 上的傳入流量,請使用下列指令更新規則:
clear
指令分解:
-A INPUT:在 INPUT 鏈追加一條規則。
-p tcp:指定TCP協定。
--dport 3333: 定義連接埠 3333。
-j ACCEPT:允許此連接埠上的流量。
現在驗證更新後的規則:
pwd ls
您應該會看到類似這樣的內容:
root@hdicj8psx6:~# pwd /root root@hdicj8psx6:~# ls snap
為了確保防火牆規則在重新啟動後仍然存在,請安裝 netfilter-persistent 軟體套件:
sudo apt update
保存規則:
Hit:1 http://archive.ubuntu.com/ubuntu jammy InRelease Get:3 http://archive.ubuntu.com/ubuntu jammy-updates InRelease [128 kB] Ign:4 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy InRelease Err:5 https://ppa.launchpadcontent.net/certbot/certbot/ubuntu jammy Release 404 Not Found [IP: 185.125.190.80 443] Reading package lists... Done
使用 PM2 開始您的應用程式
使用下列命令啟動帶有 PM2 的伺服器:
sudo apt upgrade
-f 標誌強制 PM2 重新啟動進程。
刪除未使用的程序
如果有先前運行的進程,您可以使用它們的 ID 刪除它們:
568.82.48.166 root Subham@Xam_08
這可確保重複進程不會發生衝突。
現在您的應用程式應該可以順利運行了! ?
_注意:我將用有關 SSL、nginx 和所有其他相關事物的所有資訊更新部落格 _
以上是您需要的唯一 VPS 指南:從設定到生產的簡單步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!