2017-09-27 2 views
0

Après le déploiement d'une application Rails renvoyée vers un Ubuntu 16.04.1 x64VPS, le serveur ne peut pas démarrer. Depuis hier j'ai essayé de résoudre pourquoi, mais sans aucune chance. Maintenant, je suis totalement impuissant et sans options.PG :: ConnectionBad: impossible de se connecter au serveur: après le déploiement de l'application rails à l'aide de passenger, nginx et capistrano

Deploy arrête à:

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?

En raison de ces messages d'erreur que j'ai changé les paramètres dans le pg_hba.conf et postgresql.conf aux exemples suivants selon cet article http://www.railszilla.com/postgresql-tcpip-connections-port-5432/coffee-break

`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 

Et les paramètres postgresql.conf (voir ci-dessous).

# - 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 - 

Et après le redémarrage par sudo service postgresql restart je reçois toujours la même erreur après le déploiement de nouveau.

mise à jour, database.yml du serveur Voici le database.yml du serveur.

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

Dans le /var/log/nginx/error.log la dernière ligne est comme ce [ 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.

Comme il est dit que j'ai vérifié des journaux précédents. Voici le journal entier. Il s'agit d'un order_notifier.rb qui est censé avoir une mauvaise syntaxe.

ici est le journal complet de l'erreur 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>' 

Et voici le order_notifier.rb je ne peux pas voir ce qui est faux Whit il, peut peut-être quelqu'un ici.

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 

Je l'ai remis en marche à la fois le nginx par sudo service nginx restart et l'application par bundle exec passenger-config restart-app mais avec un peu de chance, d'obtenir toujours la même erreur si je nouveau déploiera.

J'ai parcouru le web et regardé des centaines de messages ici sur la pile. Rien ne semble fonctionner. Maintenant, je deviens vraiment désespéré à ce sujet. J'ai déjà eu des problèmes similaires après un déploiement, mais j'ai toujours réussi à le réparer, mais cela semble être un problème de ma ligue.

MISE À JOUR

Il semble que le production log est coincé dans 23/5 2017 même après tous mes redémarre et se déploie. Il semble qu'il est coincé dans une erreur de l'expéditeur ??

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' 
+0

où sont situés les informations d'identification pg? directement depuis database.yml, ENV vars ou dans votre bloc de serveur (nginx)? – rogelio

+0

@rogelio les fichiers pg sont dans 'etc/postgresql/9.5/main $' J'ai ajouté 'database.yml' à la question – DaudiHell

+0

Pouvez-vous vous connecter à PG avec' psql -h localhost' depuis le shell? Permettre également à toute IP de se connecter à PG semble être une très mauvaise idée. Vous pouvez utiliser une socket UNIX au lieu de TCP/IP en définissant 'host: '/ var/run/postgresql'' dans' database.yml'. – max

Répondre

0

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

Restart Postgresql

sudo service postgresql restart