【问题标题】:Rails on Webfaction (Passenger and Nginx)Webfaction 上的 Rails(乘客和 Nginx)
【发布时间】:2014-06-19 00:17:50
【问题描述】:
这是我第一次将 Rails 应用程序部署到生产服务器,我已经完成了几乎所有工作。我坚持让应用程序在生产模式下运行的过程,我已经输入了
$ export RAILS_ENV=production
和
$ echo $RAILS_ENV
终端提示我处于生产模式,但是当我转到我的应用程序中尚未由我定义的网址时,服务器仍在调试模板 strong>,我只想让服务器抛出默认的 404 页面。
对我有耐心,我是新手。 :)
【问题讨论】:
标签:
ruby-on-rails
ruby
nginx
passenger
webfaction
【解决方案1】:
你需要更改nginx/conf/nginx.conf中的rails_env设置,如下:
server {
listen <port_number>;
passenger_enabled on;
root /home/<username>/webapps/<app_name>/<app>/public;
server_name localhost;
rails_env production;
}
如果您执行此操作时遇到“502 Bad Gateway”错误,则问题可能是您没有设置 SECRET_KEY_BASE 环境变量。您可以使用rake secret 生成合适的值,然后在设置其他环境变量的任何位置添加export SECRET_KEY_BASE="<secret>"。
Webfaction 的 Rails 部署文档已大大改进,但这是它仍然跳过的许多非直观步骤之一。