我有以下疑问:
我在 Rails+MySQL 中有一个应用程序,我想用 Apache +Passenger 运行它,我都安装了,但是当我运行./script/server我的应用程序开始用 WebRick 运行时,我该如何更改它以与Passenger 和阿帕奇?
PS:我使用的是 Ubuntu 9.04 Jaunty Jackalope,请考虑我是新手这一事实 =)
我有以下疑问:
我在 Rails+MySQL 中有一个应用程序,我想用 Apache +Passenger 运行它,我都安装了,但是当我运行./script/server我的应用程序开始用 WebRick 运行时,我该如何更改它以与Passenger 和阿帕奇?
PS:我使用的是 Ubuntu 9.04 Jaunty Jackalope,请考虑我是新手这一事实 =)
如果安装了乘客(并且模块在 apache 中),您需要做的就是将 Apache VHost 的 DocumentRoot 指向您的公共目录。其余的应由乘客处理。
没有单独的服务器可以启动,应用程序直接从 Apache 运行(就像 mod_php,但没有 cooties)。
如果您在自己的机器(即开发机器)上运行多个应用程序,我的一个朋友有一个可以帮助编写 /etc/hosts 的 gem,称为Ghost。
你可以像这样使用它:
sudo ghost add domain.local
现在在您的浏览器中键入 domain.local 将指向 127.0.0.1。
乘客更像是一种永远在线的设置。您不使用script/server
它来启动它,因为如果您不主动使用它,它会自动关闭,并在您再次开始使用它时重新激活。我个人有一个/etc/hosts
映射myapp.local
到的条目,127.0.0.1
然后我使用 Apache 的虚拟主机来确定要启动哪个 Rails 应用程序。
<VirtualHost *:80>
ServerName myapp.local
DocumentRoot /apps/myapp/public
RailsEnv development
</VirtualHost>
你需要把它放在你告诉 Apache 提供服务的任何地方。脚本/服务器将不再参与。