Nginx&乘客没有显示我的Ruby on Rails应用程序登陆页面

时间:2015-05-11 18:26:16

标签: ruby-on-rails ruby ruby-on-rails-4 nginx passenger

我正在尝试在DigitalCloud Droplet上部署Ruby on Rails app与PassengerNginx服务器。

我已经在我的Ubuntu环境中成功安装了Nginx和Passenger。我还在/var/www/my_app克隆了我的rails应用程序,但我认为nginx配置文件没有正确设置。我不知道什么是问题,因为在几个教程中他们有相同的配置,他们告诉一切都很好。

所以我看到的是: Rails error message
您可以在my_app/public文件夹中看到它是标准导轨错误页面。

我无法弄清楚为什么在所有这些教程中他们都会创建根文件夹/public,因为只有错误页面和我的favicon。我希望它显示我的static page controller索引页面,因为它在app routes文件中以root url定义。

这是我的/opt/nginx/conf/nginx.conf文件:

#user  nobody;
worker_processes  1;

events {
    worker_connections  1024;
}

http {
    passenger_root /usr/local/rvm/gems/ruby-2.1.5/gems/passenger-5.0.7;
    passenger_ruby /usr/local/rvm/gems/ruby-2.1.5/wrappers/ruby;

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

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       80;
        server_name  My_App;
        passenger_enabled on;
        root /var/www/my_app/public;

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

我需要它通过名为home.html.erb的控制器在/var/www/my_app/views/static_pages中显示名为static_pages的索引页面。以某种方式为Nginx提供rails routes文件中的信息是合乎逻辑的,因为它需要知道,但我没有看到有人这样做。也许你可以说出什么是解决方案?所有教程都说将其指向公共文件夹,但它不起作用。

非常感谢。

1 个答案:

答案 0 :(得分:1)

我找到了解决方案。我需要安装数据库,因为没有它就无法运行。这很奇怪,因为我认为只有当我的应用程序需要它来存储东西时我才需要它。我的错:D

本教程拥有一切! http://alexbachuk.com/launch-rails-4-application-with-passenger-and-nginx/希望它也可以帮助其他人。

无论如何,找到了解决方案。