簡體   English   中英

在 VPS 上托管多個 Django 實例

[英]Hosting multiple Django instances on a VPS

我正在從 WordPress 轉移到定制的 Python 應用程序。

我已經確定 Django 作為我的 Python 框架,目前我唯一的問題是關於托管。 我當前的共享托管環境非常適合 WordPress(CloudLinux 上的 WHM),但在 Apache/cPanel 上服務 Django 似乎是碰運氣,盡管我還沒有在我的新托管公司嘗試過。 - 在 cPanel 中啟用了 Python。

對我來說,設置 VPS 來為 20 個網站運行托管環境的最簡單方法是什么? 我在 virtualenv 中開發一切,但我還沒有在生產環境中運行 Django 的經驗。 我會假設 venv 不夠安全或存在可伸縮性問題? 我讀過一些關於人們使用 Docker 在 VPS 上設置單獨的 Django 實例的事情,但我不確定他們是否編寫了自己的管理系統。

據我了解,每個 Python/Django 實例都需要駐留在該虛擬容器中的 uWSGI 和 Nginx? 我正在尋找一個簡單而強大的解決方案來在 VPS 上托管 20 個 Django 站點 - 是否有開箱即用的解決方案? 如果我指向正確的方向,我也很樂意開發一個並設置一個 VPS。

任何智慧都會被感激地接受。

安迪:)

傳統方法

  • Virtualenv 已經足夠好,完全可以用於生產環境。 您可以為同一 VM 上的多個項目擁有多個 virtualenv。
  • 如果您有多個項目的多個數據庫引擎。 比如,一個是 MySQL,另一個是 PostgreSQL,然后你只需要單獨設置每個。
  • 安裝 Nginx 並根據項目進行配置。
  • 安裝主管以單獨管理(重新啟動/啟動/停止)每個項目。
  • 項目需要的任何東西。
    在這里它有一個巨大的缺點。 因為您不能以簡單的方式在數據庫引擎上為不同的項目使用不同的版本。 因此,強烈建議使用容器化。

對於簡單而強大的解決方案,

  • 使用 Docker(docker-compose) 進行本地和生產部署。
  • 使用 Nginx 配置 uWsgi(在 docker 上可用。)
  • 使用 Jenkins 等任何工具創建 CI/CD 管道。
  • 使用 Raygun 等任何好的工具來監控您的項目。

而已。

我創建了一個 bash 腳本,可以在服務器上部署任意數量的網站。 它會自動在您的服務器上安裝所有依賴項,創建虛擬環境,配置 Gunicorn,Nginx 和 Django 的數據庫等。檢查一下:

https://github.com/jdbit/django-auto-deploy

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM