Vps

具有子域的一台伺服器上的多個應用程序

  • August 15, 2014

我希望我的 VPS 能夠託管多個應用程序。例如

  • mydomain.com(Python Django 應用程序)
  • git.mydomain.com(GitLab)
  • blog.mydomain.com(WordPress)

如何在一台物理機器上執行所有這些?(這裡想到 Heroku-Apps)


由於這個問題因為離題而被擱置,並且規則說應該至少提供一個“嘗試過的解決方案”,所以這裡是:我在我的 VPS 上設置了 Bind9 以將所有子域重定向到相同的 IP,然後我可以從 WSGI 中的 HTTP 請求中讀取請求的子域。然後我正在考慮創建一個 Python 伺服器,它將 HTTP 請求重新分配給偵聽不同埠的應用程序(例如,8000 上的 GitLab,8001 上的 Django 應用程序,8002 上的 Wordpress)。但這不會允許正確轉發非 HTTP 請求(例如,讀/寫到 GitLab 的 Git 儲存庫)。

我認為必須有另一種方法來做到這一點,但我不知道該怎麼做。我也沒有可以搜尋的“命名虛擬伺服器”之類的好關鍵字,因此我的搜尋嘗試相當不滿意。

Apache Virtual Host 文件可以為您提供一個很好的概述。

檢查所有$$ virtualhost $$有關您正在使用的特定作業系統和發行版的具體問題。

在 Debian/Ubuntu 風格的系統上,您可以將子域(或其他域)添加到/etc/apache2/sites-available/[YOUR_SUBDOMAIN]然後執行a2ensite [YOUR_SUBDOMAIN]. reload更改設置後不要忘記Apache。

你可以很容易地用 nginx 和其他 web 伺服器做同樣的事情,但如果你對這些東西沒有太多經驗,你可能最好從 Apache 開始。

引用自:https://serverfault.com/questions/620236