ruby - Ubuntu 上的 Nginx 设置

标签 ruby ruby-on-rails-3 ubuntu nginx natty

我正在尝试设置带有乘客的 nginx,以便在带有 RVM 的 Ubuntu 上工作。
当我去本地主机时,我应该得到我的应用程序主页,而不是我收到默认的 nginx 主页。

user  antarr;
worker_processes  1;

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

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    passenger_root /home/antarr/.rvm/gems/ruby-1.9.2-p180@myapplication/gems/passenger-3.0.7;
    passenger_ruby /home/antarr/.rvm/wrappers/ruby-1.9.2-p180@myapplication/ruby;

    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  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   html;
            index  index.html index.htm;
        }

        #error_page  404              /404.html;

        # redirect server error pages to the static page /50x.html
        #
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }

        # proxy the PHP scripts to Apache listening on 127.0.0.1:80
        #
        #location ~ \.php$ {
        #    proxy_pass   http://127.0.0.1;
        #}

        # pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
        #
        #location ~ \.php$ {
        #    root           html;
        #    fastcgi_pass   127.0.0.1:9000;
        #    fastcgi_index  index.php;
        #    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
        #    include        fastcgi_params;
        #}

        # deny access to .htaccess files, if Apache's document root
        # concurs with nginx's one
        #
        #location ~ /\.ht {
        #    deny  all;
        #}
    }


    # HTTP SERVER
    server {
    listen 80;
    server_name localhost;
    root /rails_apps/Blog/public;   # <--- be sure to point to 'public'!
    passenger_enabled on;
    }

}

最佳答案

这是因为您已经定义了两个正在监听端口 80 的服务器。删除第一个,它应该可以工作。

关于ruby - Ubuntu 上的 Nginx 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5958959/

相关文章:

ruby - 如何从 gem 发送简单的邮件,而不需要 ActionMailer,但使用其配置(如果存在)?

r - 在 Ubuntu 系统上的 R 中安装 Sodium 包时出现问题

ruby-on-rails - 从 pgAdmin III 运行 heroku 数据库命令? (哈利的预发射器)

使用 FFI 和 C 函数在 ruby​​ 中创建动态数组类

ruby-on-rails-3 - 如何修复 Rails 3 中的 Request-URI Too Large 错误?

ruby-on-rails - 在 Rails 中识别记录/对象是否脏

ruby-on-rails - 同时创建两个对象

oracle - 在 ubuntu 14.04 上安装 oracle 11gR2 时出错

c++ - 什么调试器可以检查 C++ 代码的内存泄漏?

ruby-on-rails - 验证电子邮件时异常(exception)