首頁 > web前端 > js教程 > 您需要的唯一 VPS 指南:從設定到生產的簡單步驟

您需要的唯一 VPS 指南:從設定到生產的簡單步驟

Patricia Arquette
發布: 2024-12-26 11:30:17
原創
212 人瀏覽過

設定生產就緒 VPS 比我想像的要容易得多 - Best Guide on How toDeploy Backend Code in Production

  • ?連結:https://www.subham.online
  • ? GitHub:https://github.com/Subham-Maity
  • ? Twitter:https://twitter.com/TheSubhamMaity
  • ? LinkedIn:https://www.linkedin.com/in/subham-xam
  • ? Insta:https://www.instagram.com/subham_xam

說實話......厭倦了讓您困惑的部署教學?是的,我也是。

看,我在幫助其他開發人員時注意到了一些事情 - 大多數指南都會跳過小但非常重要的步驟。你知道接下來會發生什麼事嗎?您在午夜遇到錯誤,打開 50 個瀏覽器標籤試圖找出問題所在。

這就是我建立本指南的原因。我將引導您完成部署伺服器的每個步驟。無論您是否正在與:

  • Node.js
  • Spring Boot(Java)
  • 鐵鏽
  • 姜戈
  • 拉拉維爾
  • 燒瓶
  • 或任何其他伺服器

我將介紹那些通常會讓人絆倒的小細節。

把這想像成你的朋友坐在你旁邊,幫你部署伺服器而不費吹灰之力? .

卡在某個地方了嗎?只需在下面評論或直接給我留言即可。我真的回答了!

準備好以正確的方式部署您的伺服器了嗎?讓我們開始吧!

1️⃣第一步-連接VPS

✅ 1.選擇託管提供者

從任何託管提供者購買 VPS 計劃。

✅ 2.取得憑證

無論您是自由工作者還是在辦公室工作,您都需要三樣東西:

  • IP位址:568.82.48.166
  • 使用者名稱:root
  • 密碼:Subham@Xam_08

範例:

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 登入伺服器。您現在已準備好執行命令並設定伺服器。


2️⃣ 第二步 - 準備好您的系統

✅ 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. 處理升級提示

升級過程中,您可能會看到設定提示:

  • 範例 1:確認操作 使用 Tab 鍵選擇“確定”,然後按 Enter

The Only VPS Guide You

  • 範例 2:選擇預設值 選擇預設選項或進行更改,然後按下 Enter

The Only VPS Guide You

(注意:切換選項需要使用tab鍵)

  • 查看升級完成情況

    成功升級後,您將看到有關重新啟動服務的訊息:

        root@hdicj8psx6:~# pwd  
        /root  
        root@hdicj8psx6:~# ls  
        snap  
    
    登入後複製
    登入後複製
    登入後複製

    這確認服務已根據需要重新啟動或延遲。


3️⃣ 第三步 - 安裝依賴項並透過正確的身份驗證複製儲存庫

✅ 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.  
登入後複製
登入後複製

注意:如果遇到驗證錯誤,您需要:

  1. 設定 SSH 金鑰。
  2. 使用個人存取令牌而不是密碼。
  3. 使用 GitHub CLI (gh) 進行身份驗證。

有關指導,請參閱本指南。

✅ 4. 克隆儲存庫

  • 從 GitHub 複製 HTTPS 連結:

    範例:

    The Only VPS Guide You

  • 複製儲存庫:

    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:
    
    登入後複製
    登入後複製
    登入後複製
    登入後複製

    依照提示操作:

    • 選擇 GitHub.com。
    • 選擇 HTTPS 作為協定。
    • 選擇“使用 Web 瀏覽器登入”,使用您的 GitHub 憑證對 Git 進行驗證。

    提示範例:

           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:~#
    
    登入後複製
    登入後複製
    登入後複製
    登入後複製
    • 複製一次性程式碼並在瀏覽器中開啟連結。
    • 登入您的 GitHub 帳戶並貼上程式碼。
    • 返回您的終端機:
        clear
    
    登入後複製
    登入後複製
    登入後複製

✅ 6. 將 SSH 金鑰加入 GitHub

請參閱本指南將 SSH 金鑰新增至 GitHub。

✅ 7. 再次複製儲存庫

新增 SSH 金鑰後,複製您的儲存庫:

    pwd
    ls
登入後複製
登入後複製
登入後複製

✅ 8.驗證克隆

克隆後,檢查儲存庫是否存在:

    root@hdicj8psx6:~# pwd  
    /root  
    root@hdicj8psx6:~# ls  
    snap  
登入後複製
登入後複製
登入後複製

4️⃣ 第四步 - 設定您的項目

✅ 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 檔案(通常排除在非私人儲存庫中),您可以建立一個來儲存環境變數:

  • 在專案目錄中開啟一個名為 .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  
登入後複製
  • 儲存並退出編輯器:
    • 按 Ctrl O,然後按 Enter 儲存。
    • 按 Ctrl X 退出。

✅ 4. 驗證.env設定

檢查您的 .env 檔案是否存在且配置正確:

   sudo apt install nodejs
登入後複製

✅ 5.運行應用程式

最後,使用以下命令啟動您的應用程式:

   sudo apt install git
登入後複製

或者,如果您使用框架或腳本,請遵循其特定命令,例如:

568.82.48.166  
root  
Subham@Xam_08  
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製

注意:如果遇到錯誤,請檢查 .env 變量,檢查已安裝的依賴項,並尋找任何遺失的配置。


這是內容的重寫版本,具有更好的結構、清晰度和格式:


5️⃣ 第五步 - 開始你的專案

安裝PM2

為了保持應用程式持續運行,您可以使用 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 流程

  1. 使用 PM2 開始您的應用程式

    使用下列命令啟動帶有 PM2 的伺服器:

        sudo apt upgrade
    
    登入後複製
    登入後複製
    登入後複製

    -f 標誌強制 PM2 重新啟動進程。

  2. 刪除未使用的程序

    如果有先前運行的進程,您可以使用它們的 ID 刪除它們:

The Only VPS Guide You

568.82.48.166  
root  
Subham@Xam_08  
登入後複製
登入後複製
登入後複製
登入後複製
登入後複製

這可確保重複進程不會發生衝突。

The Only VPS Guide You


現在您的應用程式應該可以順利運行了! ?

_注意:我將用有關 SSL、nginx 和所有其他相關事物的所有資訊更新部落格 _

以上是您需要的唯一 VPS 指南:從設定到生產的簡單步驟的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板