2010-04-25 125 views
1

由於Rails應用程序默認在端口3000上運行,是否可以在端口80上啓動應用程序?真的需要在前面有一個啓用fastcgi/mod_proxy的Web服務器嗎?我的用戶一次不會超過三個。如果是這樣,我將如何能夠這樣做?在沒有Lighttpd/Apache的情況下提供Web應用程序

謝謝!

回答

2

警告:這是如何建立一個Ruby on Rails的生產環境中的通用描述。如果你想主辦一個公共Rails網站,我強烈建議使用Apache,Passenger,這很容易安裝和維護。

從您的描述來看,這聽起來像是您正在使用某種內部應用程序來在您的辦公室或類似環境中使用。爲了這個特殊的目的,通過Webrick(Rails中的內置Web服務器)託管應用程序可能是一個充分的解決方案。爲此,請使用-p命令行參數啓動服務器:ruby script/server -p 80

這顯然要求端口80可用(不受某些其他Web服務器的限制)。另外,在大多數操作系統上,您需要root權限才能綁定到端口80.以root用戶身份運行網站的安全隱患是嚴重的,所以如果您知道自己在做什麼,並且絕對是真的只想這樣做確保服務器完全與互聯網屏蔽。

+0

@Shyam,您還需要確保Apache或其他一些服務沒有在服務器上的端口80上運行,否則這將會報錯。 – 2010-04-25 20:12:06

+1

您還需要root權限才能綁定到端口80(或其他任何低於1024的端口)。 – 2010-04-25 22:11:30

+0

我第二@Tomas的說法,我甚至強烈建議不要這樣做。不要以root身份運行您的rails應用程序。以乘客的方式走,它很容易和快速。 – hurikhan77 2010-04-26 02:33:01

2

如果沒有一些具體的原因你試圖與雜種運行,我會建議使用Phusion Passenger,因爲它比mod_proxy + mongrel更容易配置和支持。

+1

我認爲運行乘客需要運行Apache,這是海報試圖避免的。 – 2010-04-25 20:36:21

相關問題