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

設定生產就緒 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中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Python和JavaScript:了解每個的優勢Python和JavaScript:了解每個的優勢May 06, 2025 am 12:15 AM

Python和JavaScript各有優勢,選擇取決於項目需求和個人偏好。 1.Python易學,語法簡潔,適用於數據科學和後端開發,但執行速度較慢。 2.JavaScript在前端開發中無處不在,異步編程能力強,Node.js使其適用於全棧開發,但語法可能複雜且易出錯。

JavaScript的核心:它是在C還是C上構建的?JavaScript的核心:它是在C還是C上構建的?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc; sanInterpretedlanguagethatrunsonenginesoftenwritteninc.1)JavascriptwasdesignedAsignedAsalightWeight,drackendedlanguageforwebbrowsers.2)Enginesevolvedfromsimpleterterpretpretpretpretpreterterpretpretpretpretpretpretpretpretpretcompilerers,典型地,替代品。

JavaScript應用程序:從前端到後端JavaScript應用程序:從前端到後端May 04, 2025 am 12:12 AM

JavaScript可用於前端和後端開發。前端通過DOM操作增強用戶體驗,後端通過Node.js處理服務器任務。 1.前端示例:改變網頁文本內容。 2.後端示例:創建Node.js服務器。

Python vs. JavaScript:您應該學到哪種語言?Python vs. JavaScript:您應該學到哪種語言?May 03, 2025 am 12:10 AM

選擇Python還是JavaScript應基於職業發展、學習曲線和生態系統:1)職業發展:Python適合數據科學和後端開發,JavaScript適合前端和全棧開發。 2)學習曲線:Python語法簡潔,適合初學者;JavaScript語法靈活。 3)生態系統:Python有豐富的科學計算庫,JavaScript有強大的前端框架。

JavaScript框架:為現代網絡開發提供動力JavaScript框架:為現代網絡開發提供動力May 02, 2025 am 12:04 AM

JavaScript框架的強大之處在於簡化開發、提升用戶體驗和應用性能。選擇框架時應考慮:1.項目規模和復雜度,2.團隊經驗,3.生態系統和社區支持。

JavaScript,C和瀏覽器之間的關係JavaScript,C和瀏覽器之間的關係May 01, 2025 am 12:06 AM

引言我知道你可能會覺得奇怪,JavaScript、C 和瀏覽器之間到底有什麼關係?它們之間看似毫無關聯,但實際上,它們在現代網絡開發中扮演著非常重要的角色。今天我們就來深入探討一下這三者之間的緊密聯繫。通過這篇文章,你將了解到JavaScript如何在瀏覽器中運行,C 在瀏覽器引擎中的作用,以及它們如何共同推動網頁的渲染和交互。 JavaScript與瀏覽器的關係我們都知道,JavaScript是前端開發的核心語言,它直接在瀏覽器中運行,讓網頁變得生動有趣。你是否曾經想過,為什麼JavaScr

node.js流帶打字稿node.js流帶打字稿Apr 30, 2025 am 08:22 AM

Node.js擅長於高效I/O,這在很大程度上要歸功於流。 流媒體匯總處理數據,避免內存過載 - 大型文件,網絡任務和實時應用程序的理想。將流與打字稿的類型安全結合起來創建POWE

Python vs. JavaScript:性能和效率注意事項Python vs. JavaScript:性能和效率注意事項Apr 30, 2025 am 12:08 AM

Python和JavaScript在性能和效率方面的差異主要體現在:1)Python作為解釋型語言,運行速度較慢,但開發效率高,適合快速原型開發;2)JavaScript在瀏覽器中受限於單線程,但在Node.js中可利用多線程和異步I/O提升性能,兩者在實際項目中各有優勢。

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強大的PHP整合開發環境