PG :: ConnectionBad:无法连接到服务器:使用passenger,nginx和capistrano部署Rails应用程序后

问题描述 投票:0回答:2

Rails应用程序重新部署到Ubuntu 16.04.1 x64 VPS ,服务器将无法启动。 从昨天开始,我一直在努力解决原因,但是没有任何运气。 现在我完全无助,没有选择。

部署在以下位置停止:

deploy:migrating 01 $HOME/.rbenv/bin/rbenv exec bundle exec rake db:migrate 01 rake aborted! 01 PG::ConnectionBad: could not connect to server: Connection refused 01 Is the server running on host "127.0.0.1" and accepting 01 TCP/IP connections on port 5432?

由于出现此错误消息,我根据本文http://www.railszilla.com/postgresql-tcpip-connections-port-5432/coffeepg_hba.confpostgresql.conf的设置更改为以下示例-打破

`pg_hba.conf`
# Database administrative login by Unix domain socket
local   all             postgres                                peer

# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     md5
# IPv4 local connections:
host    all             all             0.0.0.0/0       trust
# IPv6 local connections:
host    all             all             ::1/128                 md5
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     postgres                                peer
#host    replication     postgres        127.0.0.1/32            md5
#host    replication     postgres        ::1/128                 md5

postgresql.conf设置(请参见下文)。

# - Connection Settings -

listen_addresses = '*'          # what IP address(es) to listen on;
                                    # comma-separated list of addresses;
                                    # defaults to 'localhost'; use '*' for all
                                    # (change requires restart)
port = 5432                             # (change requires restart)
max_connections = 100                   # (change requires restart)
#superuser_reserved_connections = 3     # (change requires restart)
unix_socket_directories = '/var/run/postgresql' # comma-separated list of 
directories
                                    # (change requires restart)
#unix_socket_group = ''                 # (change requires restart)
#unix_socket_permissions = 0777         # begin with 0 to use octal notation
                                    # (change requires restart)
#bonjour = off                          # advertise server via Bonjour
                                    # (change requires restart)
#bonjour_name = ''                      # defaults to the computer name
                                    # (change requires restart)

# - Security and Authentication -

通过sudo service postgresql restart后,重新部署后仍然出现相同的错误。

来自服务器的更新database.yml这是来自服务器database.yml

production:
 adapter: postgresql
 host: 127.0.0.1
 database: databasename
 username: username
 password: password
 encoding: unicode
 pool: 5

/var/log/nginx/error.log ,最后一行是这样的[ 2017-09-27 13:09:13.4321 1530/7fa87d58e700 age/Cor/Con/CheckoutSession.cpp:285 ]: [Client 1-149] Cannot checkout session because a spawning error occurred. The identifier of the error is c620ca8b. Please see earlier logs for details about the error. [ 2017-09-27 13:09:13.4321 1530/7fa87d58e700 age/Cor/Con/CheckoutSession.cpp:285 ]: [Client 1-149] Cannot checkout session because a spawning error occurred. The identifier of the error is c620ca8b. Please see earlier logs for details about the error.

如我所说,我签出了较早的日志。 以下是整个日志。 据reffering到order_notifier.rb女巫是应该有一个语法错误。

这是错误c620ca8b的完整日志:

    [ 2017-09-27 13:02:37.1572 1530/7fa87d58e700 age/Cor/Con/CheckoutSession.cpp:285 ]: [Client 1-148] Cannot checkout session because a spawning error occurred. The identifier of the error is 446bb8e9. Please see earlier logs for details about the error.
App 20925 stdout:
App 20925 stdout:
[ 2017-09-27 13:09:13.4236 1530/7fa88401a700 age/Cor/App/Implementation.cpp:304 ]: Could not spawn process for application /home/deploy/hlinreykdal/current: An error occurred while starting up the preloader.
  Error ID: c620ca8b
  Error details saved to: /tmp/passenger-error-Mirupe.html
  Message from application: /home/deploy/hlinreykdal/releases/20170926133751/app/mailers/order_notifier.rb:8: syntax error, unexpected tLABEL
    mail (to: order.email, subject: 'Hlin Reykdal Concept Store',
             ^
/home/deploy/hlinreykdal/releases/20170926133751/app/mailers/order_notifier.rb:8: syntax error, unexpected tLABEL, expecting '='
    mail (to: order.email, subject: 'Hlin Reykdal Concept Store',
                                   ^
/home/deploy/hlinreykdal/releases/20170926133751/app/mailers/order_notifier.rb:8: syntax error, unexpected ',', expecting keyword_end
    mail (to: order.email, subject: 'Hlin Reykdal Concept Store',
                                                                 ^
/home/deploy/hlinreykdal/releases/20170926133751/app/mailers/order_notifier.rb:12: syntax error, unexpected ')', expecting keyword_end
/home/deploy/hlinreykdal/releases/20170926133751/app/mailers/order_notifier.rb:21: syntax error, unexpected tLABEL
    mail (to: order.email, subject: 'Order Shipped')
             ^
/home/deploy/hlinreykdal/releases/20170926133751/app/mailers/order_notifier.rb:21: syntax error, unexpected tLABEL, expecting '='
    mail (to: order.email, subject: 'Order Shipped')
                                   ^
/home/deploy/hlinreykdal/releases/20170926133751/app/mailers/order_notifier.rb:21: syntax error, unexpected ')', expecting keyword_end (SyntaxError)
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:244:in `rescue in load_dependency'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:237:in `load_dependency'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:274:in `require'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:360:in `require_or_load'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:317:in `depend_on'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/activesupport-4.2.5/lib/active_support/dependencies.rb:233:in `require_dependency'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:472:in `block (2 levels) in eager_load!'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:471:in `each'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:471:in `block in eager_load!'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:469:in `each'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:469:in `eager_load!'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/engine.rb:346:in `eager_load!'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/application/finisher.rb:56:in `each'
  /home/deploy/hlinreykdal/shared/bundle/ruby/2.3.0/gems/railties-4.2.5/lib/rails/application/finisher.rb:56:in `block in <module:Finisher>'

这是order_notifier.rb我看不出有什么问题,也许有人在这里。

class OrderNotifier < ApplicationMailer

   default from: 'Hlin Reykdal Concept Store <[email protected]>'

    def received(order)
     @order = order
     mail (to: order.email, subject: 'Hlin Reykdal Concept Store')
    end

   def shipped(order)
    @order = order
    mail (to: order.email, subject: 'Order Shipped')
   end  
 end

我已经通过sudo service nginx restart重新启动了nginx,并且通过bundle exec passenger-config restart-app了应用bundle exec passenger-config restart-app但是运气不好,如果我再次部署,仍然会遇到相同的错误。

我在网上搜索了所有内容,然后查看了成堆的数百篇文章。 似乎没有任何作用。 现在,我对此感到非常绝望。 在部署之后,我也遇到过类似的问题,但是我一直设法解决它,但这似乎超出了我的范围。

UPDATE

即使我重新启动并部署之后, production log似乎也停留在23/5 2017 。 看来它被卡在邮件发件人的错误中??

I, [2017-05-23T11:01:44.741054 #1060]  INFO -- : Completed 500 Internal 
Server Error in 66ms (ActiveRecord: 4.2ms)
F, [2017-05-23T11:01:44.743481 #1060] FATAL -- :
 SocketError (getaddrinfo: Name or service not known):
 app/admin/order.rb:6:in `block (2 levels) in <top (required)>'


I, [2017-05-23T11:10:08.863192 #1060]  INFO -- : Started GET "/products/41" for 164.132.161.46 at 2017-05-23 11:10:08 +0000
I, [2017-05-23T11:10:08.876373 #1060]  INFO -- : Processing by ProductsController#show as */*
I, [2017-05-23T11:10:08.876536 #1060]  INFO -- :   Parameters: {"id"=>"41"}
D, [2017-05-23T11:10:08.881123 #1060] DEBUG -- :   ^[[1m^[[35mCart Load (0.7ms)^[[0m  SELECT  "carts".* FROM "carts" WHERE "carts"."id" = $1 LIMIT 1  [["id", nil]]
D, [2017-05-23T11:10:08.882685 #1060] DEBUG -- :   ^[[1m^[[36m (0.2ms)^[[0m  ^[[1mBEGIN^[[0m
D, [2017-05-23T11:10:08.887770 #1060] DEBUG -- :   ^[[1m^[[35mSQL (1.3ms)^[[0m  INSERT INTO "carts" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id"  [["created_at", "2017-05-23 11:10:08.883411"], ["updated_at", "2017-05-23 11:10:08.883411"]]
D, [2017-05-23T11:10:08.890018 #1060] DEBUG -- :   ^[[1m^[[36m (0.7ms)^[[0m  ^[[1mCOMMIT^[[0m
D, [2017-05-23T11:10:08.893274 #1060] DEBUG -- :   ^[[1m^[[35mProduct Load (1.2ms)^[[0m  SELECT  "products".* FROM "products" WHERE "products"."slug" = $1  ORDER BY "products"."id" ASC LIMIT 1  [["slug", "41"]]
D, [2017-05-23T11:10:08.894865 #1060] DEBUG -- :   ^[[1m^[[36mProduct Load (0.4ms)^[[0m  ^[[1mSELECT  "products".* FROM "products" WHERE "products"."id" = $1 LIMIT 1^[[0m  [["id", 41]]
D, [2017-05-23T11:10:08.900733 #1060] DEBUG -- :   ^[[1m^[[35mLabel Load (1.2ms)^[[0m  SELECT  "labels".* FROM "labels" WHERE "labels"."id" = $1 LIMIT 1  [["id", 8]]
D, [2017-05-23T11:10:08.907954 #1060] DEBUG -- :   ^[[1m^[[36mProduct Load (0.6ms)^[[0m  ^[[1mSELECT  "products".* FROM "products" WHERE "products"."category_id" = $1  ORDER BY RANDOM() LIMIT 6^[[0m  [["category_id", 12]]
I, [2017-05-23T11:10:08.916955 #1060]  INFO -- :   Rendered products/show.html.erb within layouts/application (18.7ms)
D, [2017-05-23T11:10:08.920965 #1060] DEBUG -- :   ^[[1m^[[35mCategory Load (0.8ms)^[[0m  SELECT "categories".* FROM "categories"
D, [2017-05-23T11:10:08.924524 #1060] DEBUG -- :   ^[[1m^[[36mLabel Load (0.3ms)^[[0m  ^[[1mSELECT "labels".* FROM "labels"^[[0m
D, [2017-05-23T11:10:08.929926 #1060] DEBUG -- :   ^[[1m^[[35m (0.3ms)^[[0m  SELECT COUNT(*) FROM "product_items" WHERE "product_items"."cart_id" = $1  [["cart_id", 46319]]
I, [2017-05-23T11:10:08.930159 #1060]  INFO -- :   Rendered application/_navbar.html.erb (10.7ms)
I, [2017-05-23T11:10:08.931046 #1060]  INFO -- :   Rendered application/_message.html.erb (0.2ms)
I, [2017-05-23T11:10:08.932261 #1060]  INFO -- :   Rendered emaillist/_email.html.erb (0.6ms)
I, [2017-05-23T11:10:08.932381 #1060]  INFO -- :   Rendered application/_notifications.html.erb (0.9ms)
I, [2017-05-23T11:10:08.936424 #1060]  INFO -- :   Rendered application/_footer.html.erb (3.5ms)
I, [2017-05-23T11:10:08.936826 #1060]  INFO -- : Completed 200 OK in 60ms (Views: 36.7ms | ActiveRecord: 7.6ms)
I, [2017-05-23T11:12:35.005157 #1060]  INFO -- : Started GET "/labels/10" for 66.249.65.74 at 2017-05-23 11:12:35 +0000
I, [2017-05-23T11:12:35.040137 #1060]  INFO -- : Processing by LabelsController#show as HTML
I, [2017-05-23T11:12:35.040544 #1060]  INFO -- :   Parameters: {"id"=>"10"}
D, [2017-05-23T11:12:35.049755 #1060] DEBUG -- :   ^[[1m^[[36mCart Load (0.8ms)^[[0m  ^[[1mSELECT  "carts".* FROM "carts" WHERE "carts"."id" = $1 LIMIT 1^[[0m  [["id", nil]]
D, [2017-05-23T11:12:35.052776 #1060] DEBUG -- :   ^[[1m^[[35m (0.2ms)^[[0m  BEGIN
D, [2017-05-23T11:12:35.060048 #1060] DEBUG -- :   ^[[1m^[[36mSQL (0.9ms)^[[0m  ^[[1mINSERT INTO "carts" ("created_at", "updated_at") VALUES ($1, $2) RETURNING "id"^[[0m  [["created_at", "2017-05-23 11:12:35.053857"], ["updated_at", "2017-05-23 11:12:35.053857"]]
D, [2017-05-23T11:12:35.061486 #1060] DEBUG -- :   ^[[1m^[[35m (0.6ms)^[[0m  COMMIT
D, [2017-05-23T11:12:35.065373 #1060] DEBUG -- :   ^[[1m^[[36mLabel Load (0.4ms)^[[0m  ^[[1mSELECT  "labels".* FROM "labels" WHERE "labels"."id" = $1 LIMIT 1^[[0m  [["id", 10]]
I, [2017-05-23T11:12:35.067624 #1060]  INFO -- : Completed 404 Not Found in 27ms (ActiveRecord: 3.0ms)
F, [2017-05-23T11:12:35.069957 #1060] FATAL -- :
ActiveRecord::RecordNotFound (Couldn't find Label with 'id'=10):
  app/controllers/labels_controller.rb:21:in `set_label'
ruby-on-rails ruby postgresql nginx passenger
2个回答
1
投票

rm /usr/local/var/postgres/postmaster.pid

重新启动PostgreSQL

sudo service postgresql restart


0
投票

最终我按照下面提供的答案设法解决了我的问题: https : //askubuntu.com/questions/810008/after-upgrade-14-04-to-16-04-1-postgresql-server-does-not -开始

然后执行此处提供的修改: https ://gist.github.com/GabLeRoux/0c60f9be0c28b6b41f64cb55474b0ccb

可能应用启动并再次运行...

© www.soinside.com 2019 - 2024. All rights reserved.