ruby-on-rails – 为什么带有Passenger/nginx的Rails只能在开发模式下工作?没有可用的日志

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 为什么带有Passenger/nginx的Rails只能在开发模式下工作?没有可用的日志前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我的一个网络服务器出现严重问题…在对mongrel / haproxy-cluster进行内部alpha测试后运行良好,我们希望将Nginx与乘客一起用于我们的第一个生产服务器(客户将访问此服务器) .

但是,我只能使用passenger / Nginx通过开发模式运行rails应用程序.

应用程序本身在生产模式下与杂种或webrick完美搭配.

我遇到的最大问题是我在Nginx或rails-logs中找不到任何信息(仅当我使用mongrel或webrick时).

权限是正确的.乘客状态显示该应用正在运行,但我总是得到静态500.html错误页面

如果你们能给我一个提示并帮助我解决问题,那将是非常好的.

我把配置放在帖子的底部…这个确切的配置适用于rails_env开发;但我想使用生产模式;-)

非常感谢您的帮助!

版:
Ubuntu 8.04.2 64bit /
Nginx-0.7.64(通过乘客2.2.11编译和安装)

cat /opt/Nginx/conf/Nginx.conf

user  www-data;
worker_processes  4;

error_log  logs/error.log;

#pid        logs/Nginx.pid;


events {
    worker_connections  1024;
}


http {
      passenger_root /usr/lib/ruby/gems/1.8/gems/passenger-2.2.11;
      passenger_ruby /usr/bin/ruby1.8;


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

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  logs/access.log;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  <
最佳答案
默认情况下,Nginx的乘客在生产模式下运行.使用passenger-install-Nginx-module命令安装使用Passenger模块编译的Nginx.
您确定已为生产模式创建和迁移数据库吗?

rake db:create RAILS_ENV=production
rake db:migrate RAILS_ENV=production

你的Nginx.conf对我来说很合适.确保Nginx用户(例如www-data)可以访问您的rails应用程序.

祝好运

原文链接:https://www.f2er.com/nginx/434451.html

猜你在找的Nginx相关文章