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

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

Dec 26, 2024 am 11:30 AM

設定生產就緒 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

熱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

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

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1662
14
CakePHP 教程
1419
52
Laravel 教程
1313
25
PHP教程
1262
29
C# 教程
1235
24
神秘的JavaScript:它的作用以及為什麼重要 神秘的JavaScript:它的作用以及為什麼重要 Apr 09, 2025 am 12:07 AM

JavaScript是現代Web開發的基石,它的主要功能包括事件驅動編程、動態內容生成和異步編程。 1)事件驅動編程允許網頁根據用戶操作動態變化。 2)動態內容生成使得頁面內容可以根據條件調整。 3)異步編程確保用戶界面不被阻塞。 JavaScript廣泛應用於網頁交互、單頁面應用和服務器端開發,極大地提升了用戶體驗和跨平台開發的靈活性。

JavaScript的演變:當前的趨勢和未來前景 JavaScript的演變:當前的趨勢和未來前景 Apr 10, 2025 am 09:33 AM

JavaScript的最新趨勢包括TypeScript的崛起、現代框架和庫的流行以及WebAssembly的應用。未來前景涵蓋更強大的類型系統、服務器端JavaScript的發展、人工智能和機器學習的擴展以及物聯網和邊緣計算的潛力。

JavaScript引擎:比較實施 JavaScript引擎:比較實施 Apr 13, 2025 am 12:05 AM

不同JavaScript引擎在解析和執行JavaScript代碼時,效果會有所不同,因為每個引擎的實現原理和優化策略各有差異。 1.詞法分析:將源碼轉換為詞法單元。 2.語法分析:生成抽象語法樹。 3.優化和編譯:通過JIT編譯器生成機器碼。 4.執行:運行機器碼。 V8引擎通過即時編譯和隱藏類優化,SpiderMonkey使用類型推斷系統,導致在相同代碼上的性能表現不同。

JavaScript:探索網絡語言的多功能性 JavaScript:探索網絡語言的多功能性 Apr 11, 2025 am 12:01 AM

JavaScript是現代Web開發的核心語言,因其多樣性和靈活性而廣泛應用。 1)前端開發:通過DOM操作和現代框架(如React、Vue.js、Angular)構建動態網頁和單頁面應用。 2)服務器端開發:Node.js利用非阻塞I/O模型處理高並發和實時應用。 3)移動和桌面應用開發:通過ReactNative和Electron實現跨平台開發,提高開發效率。

Python vs. JavaScript:學習曲線和易用性 Python vs. JavaScript:學習曲線和易用性 Apr 16, 2025 am 12:12 AM

Python更適合初學者,學習曲線平緩,語法簡潔;JavaScript適合前端開發,學習曲線較陡,語法靈活。 1.Python語法直觀,適用於數據科學和後端開發。 2.JavaScript靈活,廣泛用於前端和服務器端編程。

如何使用Next.js(前端集成)構建多租戶SaaS應用程序 如何使用Next.js(前端集成)構建多租戶SaaS應用程序 Apr 11, 2025 am 08:22 AM

本文展示了與許可證確保的後端的前端集成,並使用Next.js構建功能性Edtech SaaS應用程序。 前端獲取用戶權限以控制UI的可見性並確保API要求遵守角色庫

從C/C到JavaScript:所有工作方式 從C/C到JavaScript:所有工作方式 Apr 14, 2025 am 12:05 AM

從C/C 轉向JavaScript需要適應動態類型、垃圾回收和異步編程等特點。 1)C/C 是靜態類型語言,需手動管理內存,而JavaScript是動態類型,垃圾回收自動處理。 2)C/C 需編譯成機器碼,JavaScript則為解釋型語言。 3)JavaScript引入閉包、原型鍊和Promise等概念,增強了靈活性和異步編程能力。

使用Next.js(後端集成)構建多租戶SaaS應用程序 使用Next.js(後端集成)構建多租戶SaaS應用程序 Apr 11, 2025 am 08:23 AM

我使用您的日常技術工具構建了功能性的多租戶SaaS應用程序(一個Edtech應用程序),您可以做同樣的事情。 首先,什麼是多租戶SaaS應用程序? 多租戶SaaS應用程序可讓您從唱歌中為多個客戶提供服務

See all articles