Python

在一台 linux 機器上執行兩個 Web 伺服器?

  • August 8, 2016

**問題:**我有兩個分別使用 JAVA 和 PYTHON 創建的 Web 應用程序。

JAVA 應用程序使用 Tomcat 伺服器在埠號 8000 上執行。PYTHON 應用程序使用 web.py 並在埠號 8080 上執行。Python (API) 執行後端作業,Java (UI) 充目前端人員.

在我本地的 Ubuntu 機器上,這些應用程序執行良好。但是,我必須讓這個應用程序在我的 QA 機器上執行,其中只有埠 80 和 443 是開放的,並且所有剩餘的埠都受到限制。我嘗試使用 authbind 在埠 80 上執行 java,但失敗了。

有沒有其他方法可以在內部使用 URL 過濾將 HTTP 請求重定向到它們各自的 Web 服務和埠號?如果有任何其他方法,請分享有關它的資訊。

提前致謝。

對此的標準解決方案是使用前端伺服器,該伺服器將請求分派到適當的“真實”伺服器,通常基於主機名。這稱為反向代理Nginx經常用於此目的。從教程開始。

/etc/nginx/nginx.conf以下是具有兩個後端的反向代理的配置 ( ):

server {
   server_name java-app.example.com;
   proxy_pass http://localhost:8000/;
}

server {
   server_name python-app.example.com;
   proxy_pass http://localhost:8080/;
}

當然還有更多可能有用的選項

引用自:https://unix.stackexchange.com/questions/299617