2016-07-28 4 views
0

Я попытался запустить сервер рельсов и его подачи следующий вопрос:ошибка Postgres PG :: ConnectionBad приходит во время запуска рельсы сервер

[email protected]:~/work/code/$ rails s 
=> Booting Puma 
=> Rails 3.2.22 application starting in development on http://0.0.0.0:3000 
=> Call with -d to detach 
=> Ctrl-C to shutdown server 
Exiting 
/home/neha/.rvm/gems/[email protected]/gems/activerecord-3.2.22/lib/active_record/connection_adapters/postgresql_adapter.rb:1222:in `initialize': FATAL: no pg_hba.conf entry for host "[local]", user "postgres", database "dev2", SSL off (PG::ConnectionBad) 

При попытке запустить службу PostGreSQL его подачи следующее сообщение об ошибке:

[email protected]:~/work/code/$ sudo service postgresql start 
* Starting PostgreSQL 9.3 database server                          * Error: Port conflict: another instance is already running on /var/run/postgresql with port 5432 
                                     [fail] 

Мой файл /etc/postgresql/9.3/main/pg_hba.conf как:

# Database administrative login by Unix domain socket 
local all    postgres        md5 

# TYPE DATABASE  USER   ADDRESS     METHOD 

# "local" is for Unix domain socket connections only 
local all    all          peer 
# IPv4 local connections: 
host all    all    127.0.0.1/32   md5 
# 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 

Также проверяется, убивая процесс работы на порту 5432 как:

[email protected]:~/work/code/lms(ac-99)$ sudo lsof -t -i:3000 
[email protected]:~/work/code/lms(ac-99)$ sudo lsof -t -i:5432 
9981 
[email protected]:~/work/code/lms(ac-99)$ sudo kill -9 9981 
[email protected]:~/work/code/lms(ac-99)$ sudo service postgresql start 
* Starting PostgreSQL 9.3 database server                          * Error: Port conflict: another instance is already running on /var/run/postgresql with port 5432 

Может кто-нибудь предложит какое-то решение.

ответ

0

Возможно, ваш порт 3000 уже выделен для другого сервера.
для исправления этой проблемы, вы можете попробовать ниже команды

$ Lsof -i: 3000

when you press enter you will get below output like 

COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME 
ruby 12036 tps 12u IPv4 331030  0t0 TCP *:3000 (LISTEN) 

$ убить -9 12036

над командой убить PID после этого пробег рельсов с

+0

Я не получил никакого вывода для lsof -i: 3000 command – Neha

+0

ohhh тогда рельсы s должны работать !!! ok .. попробуйте использовать эту команду «$ netstat -tulpn». –

+0

Я отредактировал мой вопрос. – Neha