簡體   English   中英

PG :: ConnectionBad:無法連接到服務器:使用passenger,nginx和capistrano部署Rails應用程序后

[英]PG::ConnectionBad: could not connect to server: after deploying rails app using passenger, nginx and capistrano

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 <hlin@hlinreykdal.com>'

    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'

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

重新啟動PostgreSQL

sudo service postgresql restart

最終我按照下面提供的答案設法解決了我的問題: https : //askubuntu.com/questions/810008/after-upgrade-14-04-to-16-04-1-postgresql-server-does-not -開始

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

可能應用啟動並再次運行...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM