我刚刚完成了 Ubuntu Server 的全新安装并默认选择了 LAMP 包。
经过测试,它可以与 PHP 脚本很好地协同工作,但现在我希望能够在同一个 Apache 安装上运行 RubyOnRails。
我如何通过 CLI 实现这一点?
多谢!
答案1
我肯定会用乘客为此。它易于设置和运行,并且性能良好。Passenger 负责生成和终止子 Rails 进程以处理传入的请求。
Ubuntu 提供的乘客模块还可以,但稍显落后。可以通过从半官方存储库安装获取较新的软件包。根据乘客安装页面:
将以下行添加到第三方软件源:
deb http://apt.brightbox.net lucid main
(最简单的方法是在 /etc/apt/sources.list.d/ 中创建一个包含 deb 指令的文件,然后运行“apt-get update”)。
完成此操作后,您可以通过运行以下命令安装 Phusion Passenger:
apt-get install libapache2-mod-passenger
我认为安装程序会自动启用模块并重新启动 Apache,但如果没有,您应该自己执行此操作。
查看手册如何部署 Rails 应用,但你会发现它非常简单:
<VirtualHost *:80>
ServerName www.mycook.com
DocumentRoot /webapps/mycook/public
<Directory /webapps/mycook/public>
Allow from all
Options -MultiViews
</Directory>
</VirtualHost>
我还建议你看看跑步Ruby 企业版(ree) 是一款经过修改的 Ruby 解释器,由 Passenger 的同一团队开发,其特点是内存使用量减少了约 33%。它经过了充分测试,并且与 Ruby 1.8.7 100% 兼容。您会发现许多人在生产服务器上运行它。
答案2
您需要使用 Passenger 宝石,或者您可以使用 mod_proxy 在 Rails 中为后端做代理。在这种情况下,您可以使用 Thin 或 Unicorn 运行 Rails。
答案3
Ubuntu 上的 Rails 作为独立 HTTP 服务器
令人惊讶的是,关于这一点并没有很多好看的 HOWTO。
在 Google 上显示的列表中,可能只有最上面的项目是好的:http://www.google.com/search?q=rails+on+ubuntu+10.10
其他项目处理右心室- 我没有用过,如果你用过的话,似乎没有必要宝石。
使用 Apache
如果你需要它通过 Apache 运行,那么你需要使用乘客- 当您点击立即安装 Passenger有一个很好的 HOWTO,用于设置 Apache mod_rails,方法是宝石。
官方 Rails 部署页面将 Passenger 列为其首选(又名 mod_rails): http://rubyonrails.org/deploy