如何使用Apache和Phusion Passenger以生产模式(逐步)设置和运行Rails 4应用程序:
通常情况下,你可以进入Rails项目rails s
,并在http://something.com:3000时获得应用程序的开发版本.生产模式的配置有点棘手.
我已经在这方面胡闹了一段时间,所以我想我应该为新手(比如我自己)写这篇文章.有一些小的调整在互联网上传播,并认为这可能更容易.
有关服务器(CentOS 6,但它应该适用于几乎所有的Linux版本)的核心设置,请参阅本指南:https://www.digitalocean.com/community/tutorials/how-to-setup-a-rails-4-app-with-apache-and-passenger-on-centos-6
确保乘客设置好后,您已经编辑了/etc/httpd/conf/httpd.conf
文件,以反映您的目录 struct .You want to point DocumentRoot to your Rails project /public folder httpd.conf
文件中有这种dir:/var/www/html/your_application/public
的任何地方都需要更新,否则一切都会变得非常令人沮丧.我怎么强调都不过分.
重新启动服务器(或者至少-service httpd restart
)
输入Rails项目文件夹/var/www/html/your_application
,然后从rake db:migrate
开始migrations.确保数据库表存在,即使您计划稍后添加表(这也是步骤1的一部分).
RAILS_ENV=production rake secret
-这将创建一个可以添加到config/secrets.yml
的密钥.您可以将其复制/粘贴到config/secrets中.yml是为了让事情运转起来,尽管我建议你不要这样做.就我个人而言,我做这一步是为了确保其他一切都正常工作,然后再将其更改回来,并在以后找到它的来源.
一百
RAILS_ENV=production rake assets:precompile
如果你在为静态assets资源 服务.这将把js、css和图像文件推送到/public
文件夹中.
一百
此时,你的应用应该是http://something.com/whatever
而不是:3000
.如果没有,请输入passenger-memory-stats
,然后查看是否有类似908 469.7 MB 90.9 MB Passenger RackApp: /var/www/html/projectname
的条目
我可能错过了一些令人发指的事情,但这在过go 对我很有效.