【问题标题】:Rails 5.0.2 Deployment on Digital Ocean Passenger issueRails 5.0.2 关于数字海洋乘客问题的部署
【发布时间】:2017-03-14 14:06:32
【问题描述】:

我目前正在按照本教程将测试 Rails 5.0 应用程序部署到数字海洋:

https://gorails.com/deploy/ubuntu/16.04

我的代码在教程中是原样的,但是在使用 capistrano 进行部署时,我得到以下登录乘客:重新启动。

There are no Phusion Passenger-served applications running whose paths begin with '/home/deploy/app_name''.

最终效果是 ip 仍然向我显示 Nginx 欢迎页面。

欢迎所有输入。谢谢!

编辑:

00:56 passenger:restart
  01 passenger-config restart-app /home/deploy/app_name --ignore-app-not-running
  01 There are no Phusion Passenger-served applications running whose paths begin with '/home/deploy/app_name'.

编辑 2 /etc/nginx/sites-enabled/default

server {
        listen 80;
        listen [::]:80 ipv6only=on;

        server_name mydomain.com;
        passenger_enabled on;
        rails_env    production;
        root         /home/deploy/my_app_name/current/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/deploy/app_name目录的内容是什么?
  • 它们是:当前版本 repo revisions.log 共享 谢谢!
  • 你需要将你的 nginx root 指令改为:/home/deploy/app_name/current/public
  • 已经在/etc/nginx/sites-enabled/default中设置了

标签: ruby-on-rails nginx capistrano passenger web-deployment


【解决方案1】:

你需要这样的东西

server {
  listen       80;
  server_name  app_name.com;


  root /mnt/apps/app_name/current/public;

  passenger_enabled on;
  passenger_ruby /usr/bin/ruby2.0;

  proxy_set_header        Host            $host;
  proxy_set_header        X-Real-IP       $remote_addr;
  proxy_set_header        X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header        X-Forwarded-Proto $scheme;
  add_header              Front-End-Https   on;


  if ($request_method !~ "^(GET|POST|HEAD|PUT|DELETE|PATCH)$"){
    return 403;
  }

  rewrite /favicon.ico$ /favicon.ico break;
}

【讨论】:

  • 您好,我将我的/etc/nginx/sites-enabled/default 从原来的(第二次编辑)切换到了你的。运行sudo nginx -t 说我需要乘客企业来使乘客最小实例和最大实例工作,所以我删除了它们。 Runnong sudo nginx -t 一切正常,但访问网站的 IP 地址已关闭。抱歉,这是第一次部署
  • @Ender 当您访问该页面时收到什么错误消息?我相信您必须输入映射到 IP 地址的主机名。
  • 无法连接。 Firefox 无法通过 ip 地址与服务器建立连接。我的编辑仍然出现同样的错误,快速说明我调整了 passenger_ruby 行以指向 rvm,因为这就是我在 passenger.conf 文件中的内容
  • @Ender 听起来你有一些防火墙规则阻止访问在 Linux 上运行?你检查 iptables 了吗?
  • 我在运行ubuntu,还没碰防火墙。我最终删除了 droplet 今晚重试
猜你喜欢
  • 2015-05-03
  • 2016-08-14
  • 2015-03-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-30
  • 1970-01-01
  • 2018-07-29
相关资源
最近更新 更多