【发布时间】:2015-05-12 05:39:41
【问题描述】:
我正在尝试在 DigitalCloud droplet 上使用 Passenger 和 Nginx 服务器部署 Ruby on Rails 应用程序。
我已经在我的 Ubuntu 环境中成功安装了 Nginx 和Passenger。我也在/var/www/my_app 上克隆了我的rails 应用程序,但我认为nginx 配置文件设置不正确。我不知道是什么问题,因为在几个教程中他们有相同的配置,他们告诉一切都很好。
所以我看到的是这样的:
您可以从my_app/public 文件夹中看到它是标准rails 错误页面。
我不明白为什么在所有这些教程中他们都创建了根文件夹/public,因为只有错误页面和我的网站图标。我希望它显示来自我的static page controller 的索引页,因为它在应用程序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;
}
}
}
我需要它通过名为static_pages 的控制器在/var/www/my_app/views/static_pages 中显示名为home.html.erb 的索引页。以某种方式向Nginx 提供rails routes 文件中的信息是合乎逻辑的,因为它需要知道的一切,但我还没有看到有人这样做。也许你能说出什么是解决方案?所有教程都说将其定向到公用文件夹,但它不起作用。
无论如何,谢谢。
【问题讨论】:
-
什么?我认为你在这里混淆了一些东西......
-
我必须安装数据库并且它工作正常:D 我应该阅读更多关于我使用的东西的信息。
标签: ruby-on-rails ruby ruby-on-rails-4 nginx passenger