我正在尝试在DigitalCloud Droplet上部署Ruby on Rails
app与Passenger
和Nginx
服务器。
我已经在我的Ubuntu环境中成功安装了Nginx和Passenger。我还在/var/www/my_app
克隆了我的rails应用程序,但我认为nginx配置文件没有正确设置。我不知道什么是问题,因为在几个教程中他们有相同的配置,他们告诉一切都很好。
所以我看到的是:
您可以在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
文件中的信息是合乎逻辑的,因为它需要知道,但我没有看到有人这样做。也许你可以说出什么是解决方案?所有教程都说将其指向公共文件夹,但它不起作用。
非常感谢。
答案 0 :(得分:1)
我找到了解决方案。我需要安装数据库,因为没有它就无法运行。这很奇怪,因为我认为只有当我的应用程序需要它来存储东西时我才需要它。我的错:D
本教程拥有一切! http://alexbachuk.com/launch-rails-4-application-with-passenger-and-nginx/希望它也可以帮助其他人。
无论如何,找到了解决方案。