在将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?
由于此错误消息,我根据本文将pg_hba.conf
和postgresql.conf
中的设置更改为以下示例,http://www.railszilla.com/postgresql-tcpip-connections-port-port-5432/coffee-5432/coffee-5432休息
`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.
正如我所说的,我已经检查了较早的日志。以下是整个日志。它正在转向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
的应用程序,但是运气不好,如果我再次部署,仍然会遇到相同的错误。
我在网上谷歌搜索,并在堆栈上查看了数百个帖子。似乎没有任何作用。现在,我对此非常拼命。部署后,我之前遇到了类似的问题,但是我一直设法修复它,但这似乎是我的联盟。
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-14-14-04-to-16---04-1 postgresql-server-does-not-start
然后进行此处提供的修改:https://gist.github.com/gableroux/0c60f9be0c28b6b41f64cb547474b0ccb
可能的应用程序启动并再次运行...