使用nginx和unicorn部署Rails应用程序 - 不打开应用程序主页

时间:2017-04-13 13:44:10

标签: ruby-on-rails ruby nginx ubuntu-16.04 unicorn

我是使用 Nginx 独角兽部署Rails应用程序的新手。

我部署了应用程序并安装了独角兽和 Nginx ,但它正在从公用文件夹访问文件和文件夹,而不是运行我的 Rails应用程序。

我已将 config / unicorn.rb 添加到:

app_dir = File.expand_path(File.dirname(__FILE__) + '/..')

worker_processes 2
preload_app true
timeout 3000

listen app_dir + '/shared/sockets/unicorn.sock', backlog: 64

working_directory app_dir

pid app_dir + '/shared/pids/unicorn.pid'

stderr_path app_dir + '/shared/log/unicorn.log'
stdout_path app_dir + '/shared/log/unicorn.log'

 stderr_path "#{app_dir}/shared/log/unicorn.stderr.log"
 stdout_path "#{app_dir}/shared/log/unicorn.stdout.log"


preload_app true

GC.respond_to?(:copy_on_write_friendly=) &&
  GC.copy_on_write_friendly = true


before_fork do |server, worker|
  defined?(ActiveRecord::Base) &&
    ActiveRecord::Base.connection.disconnect!
end

after_fork do |server, worker|
  defined?(ActiveRecord::Base) &&
    ActiveRecord::Base.establish_connection
end          

我已配置/etc/init.d/unicorn_instant_booking

set -e

USAGE="Usage: $0 <start|stop|restart|upgrade|rotate|force-stop>"

USER="root"
APP_NAME="instant_booking"
APP_ROOT="/$USER/rails/$APP_NAME"
ENV="production"

PATH="/$USER/.rbenv/shims:/home/$USER/.rbenv/bin:$PATH"
CMD="cd $APP_ROOT && bundle exec unicorn -c config/unicorn.rb -E $ENV -D"
PID="$APP_ROOT/shared/pids/unicorn.pid"
OLD_PID="$PID.oldbin"

cd $APP_ROOT || exit 1

sig () {
  test -s "$PID" && kill -$1 `cat $PID`
}

oldsig () {
  test -s $OLD_PID && kill -$1 `cat $OLD_PID`
}

case $1 in
  start)
    sig 0 && echo >&2 "Already running" && exit 0
    echo "Starting $APP_NAME"
    su - $USER -c "$CMD"
    ;;
  stop)
    echo "Stopping $APP_NAME"
    sig QUIT && exit 0
    echo >&2 "Not running"
    ;;
  force-stop)
    echo "Force stopping $APP_NAME"
    sig TERM && exit 0
    echo >&2 "Not running"
    ;;
  restart|reload|upgrade)
    sig USR2 && echo "reloaded $APP_NAME" && exit 0   

/ etc / nginx / sites-available / default

    upstream app {
    server unix:/root/rails/instant_booking/shared/sockets/unicorn.sock fail_timeout=0;
}

server {
        listen 80;
        listen [::]:80 ipv6only=on default_server;
        root /root/rails/instant_booking/public;

        index index.html index.htm;

        server_name mydomainapp.com;

        autoindex on;
        try_files $uri $uri/ =404 @app;

        location @app {
        proxy_pass http://mydomainapp.com;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Host $http_host;
        proxy_redirect off;
    }

我没有得到我失踪的东西。请帮忙 感谢。

0 个答案:

没有答案