2010-04-25 142 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

相关问题