2011-12-22 2 views
0

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

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. Единственное, что я не мог найти никого в Интернете, у которого была такая же проблема, или поделился способом сделать это.

Я был бы очень признателен за вашу помощь.

ответ

0

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

+0

Было бы хорошо, если бы вы могли добавить ссылку на это, так как ваш ответ, как он есть, не очень полезен никому. – Mohamad

+0

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

Смежные вопросы