部署 nginx passenger 启 production 模式报错

nancy · 2012年06月25日 · 最后由 qhwa 回复于 2012年06月26日 · 3857 次阅读

启 development 模式正常,换成 production 模式报 We're sorry, but something went wrong. 请问是啥原因???

nginx.conf 配置 #user nobody; worker_processes 2;

#error_log logs/error.log; #error_log logs/error.log notice; #error_log logs/error.log info;

#pid logs/nginx.pid;

events { worker_connections 10240; }

http { passenger_root /usr/local/rvm/gems/ruby-1.9.3-p194/gems/passenger-3.0.12; passenger_ruby /usr/local/rvm/wrappers/ruby-1.9.3-p194/ruby;

client_max_body_size 20M; client_body_buffer_size 256k;

include mime.types; default_type application/octet-stream;

sendfile on; keepalive_timeout 60;

server { listen 80; server_name localhost; root /home/rails/agent/public; passenger_enabled on; rails_env development;

error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } }

server { listen 8050; server_name localhost; root /home/rails/agentc/public; passenger_enabled on; rails_env production;

#error_page 500 502 503 504 /50x.html; #location = /50x.html { # root html; #} } }

遇到这种问题先看 log 呀

你这个写的好奇怪,生产模式 8050 端口,开发模式 80 端口

#2 楼 @hlcfan 默认的是 80 没改,生产模式随便指定的端口,有啥讲究吗?

执行 rake assets:precompile 没?

另外 passenger 如果不指定 rails_env, 默认就是 production 了。

这个时候请求已经到 rails 了,所以得看 rails 的 log,一般是 log/production.log

修改 config/environments/production.rbconfig.consider_all_requests_local 的值设成 true 就可以看到详细出错信息

需要 登录 后方可回复, 如果你还没有账号请 注册新账号