连接被拒绝 - 使用DigitalOcean连接(2)"localhost"端口9200

use*_*014 2 ruby ruby-on-rails elasticsearch ruby-on-rails-4 digital-ocean

我使用DigitalOcean作为我的Ruby on Rails应用程序与Elasticsearch.所以我得到了

Faraday::ConnectionFailed in PetsController#create
Connection refused - connect(2) for "localhost" port 9200
Run Code Online (Sandbox Code Playgroud)

我想知道是不是因为我没有在DigitalOcean上使用localhost.我猜我是否必须在我的应用程序中更改它以开始收听我用于DigitalOcean的IP地址,但我不确定应该在哪里查看.

Lau*_*ens 9

您可以在digitalocean上查看以下内容:

sudo vi /etc/elasticsearch/elasticsearch.yml
Run Code Online (Sandbox Code Playgroud)

寻找:

network.bind_host: localhost
Run Code Online (Sandbox Code Playgroud)

来源:https://www.digitalocean.com/community/tutorials/how-to-install-elasticsearch-on-an-ubuntu-vps

还有,你确定elasticsearch正在运行吗?以下命令应该为您提供一个哈希结果:

curl localhost:9200
Run Code Online (Sandbox Code Playgroud)

如果不是:尝试启动它并再试一次:

sudo service elasticsearch start
Run Code Online (Sandbox Code Playgroud)

此外,您可能希望自动启动elasticsearch,如此处所述https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-service.html