簡體   English   中英

在另一個Web服務器上運行Apache?

[英]Running Apache alongside another web server?

有沒有人在同一台機器上運行兩個不同的Web服務器(如Apache和CherryPy)並沒有成功? 我現在正在嘗試其他網絡服務器,我想看看我是否可以在保持其他網站正常運行的同時進行實驗。 你可以說這不是一個特定的軟件問題,因為它是一個普通的網絡問題。

  • 我知道可以在不同的端口上運行兩個Web服務器; 但有沒有辦法配置它們,以便它們可以在同一個端口上運行(即,它們都在端口80上運行)?
  • Web服務器不會提供來自相同域的文件。 例如,Apache可以從foo.domain.com提供文檔,而另一個Web服務器可以從bar.domain.com提供。

我知道這不是一個理想的配置。 我想看看是否可以在我沖下兔子洞之前完成它。 :)

您不能將兩個進程綁定到同一IP地址上的同一端口。 您可以在框中添加另一個IP地址,讓每個服務器監聽一個。

另一種選擇是代理將一台服務器傳遞給另一台服務器。 使用Apache,您可以執行以下操作:

NameVirtualHost *
<virtualhost *>
  ServerName other.site.com

  # assumes CherryPy listens on port 8080
  ProxyPass / http://127.0.0.1:8080/
  ProxyPassReverse / http://127.0.0.1:8080/
</Virtualhost>

這是一個非常快速的示例,但您始終可以查看ProxyPass文檔 但請記住,被代理的應用程序將在其日志而不是請求者的IP地址中獲得127.0.0.1。 某些Web服務器(apache使用mod_rpaf )可以替換X-Forwarded-For標頭代替錯誤的IP地址。 可能CherryPy有這個嗎?

最好的辦法是將Apache httpd放在端口80前面,並通過使用模塊通過Apache中繼其他服務器的請求。 最流行的場景是Apache背后的Tomcat,你可以運行php和jsp應用程序。

我不熟悉CherryPy,所以我只建議你為CherryPy尋找一個Apache模塊。

編輯:這看起來很有希望: http//tools.cherrypy.org/wiki/BehindApache

或者,對於Ishmaeel的正確答案,如果您的服務器有2個網卡,則可以讓每個服務器在不同的IP地址上應答請求。

暫無
暫無

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

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