Почему Tire не подключается к ElasticSearch в производственном режиме (RoR)? - PullRequest
0 голосов
/ 22 декабря 2011

У меня есть VPS с Ubuntu 10.04 и Nginx на нем и приложение Rails, которое развертывается на нем через capistrano. Пока все отлично работает. Вчера я попытался интегрировать Sunspot / Solr, который был полным провалом, потому что он разрушил весь мой сервер и приложение. Итак, сегодня я попробовал Tire / ElasticSearch как комбинацию для полнотекстового поиска. В моей местной среде разработки все работает отлично. Я установил ES через доморощенный и получил его и работает. После небольшого тестирования я развернул приложение на своем VPS и установил ES на этом сервере. Когда я запускаю ES, он дает мне PID и, кажется, работает нормально, но проблема в том, что кажется, что шина не может подключиться к нему или найти его. Потому что я не могу сохранить объект, который был бы проиндексирован, или искать что-то в базе данных. Я всегда получаю сообщение (я сам изменил IP-адрес на 0.0.0.0):

Started GET "/food?utf8=%E2%9C%93&query=hamburger" for 0.0.0.0 at 2011-12-22 16:43:07 +0100
Processing by PostsController#index as HTML
Parameters: {"utf8"=>"✓", "query"=>"hamburger"}
Completed 500 Internal Server Error in 11ms

Errno::ECONNREFUSED (Connection refused - connect(2)):
app/models/food.rb:23:in search'
app/controllers/food_controller.rb:12:inindex'

Сообщение почти одинаковое, если я пытаюсь что-то сохранить, отличается только строка кода, в которой происходит ошибка.

Я часами искал, чтобы выяснить, где ошибка, если я что-то упустил в конфигурации или в чем проблема, но я просто не могу ее найти. Я думал, что проблема в том, а) Шина не знает, как найти ES, даже если нет конфигурации для установки б) IPTables или Nginx вызывают ошибку

А также я не могу открыть my-domain.com:9200 для доступа к ES, но, вероятно, это связано с Nginx. Единственное, что я не смог найти в Интернете никого, кто имел бы ту же проблему или поделился способом сделать это.

Буду очень признателен за вашу помощь.

1 Ответ

0 голосов
/ 23 декабря 2011

Нашел проблему.При настройке ES на моем VPS я установил фиксированный IP-адрес моего сервера.Согласно руководству, это должно быть правильно, но после удаления строки и разрешения ES самостоятельно искать настройки, она, наконец, работает.

...