最近我们将一个应用程序从rails 4移到了rails 5.1.6。 我们面临的问题是,在开始太阳黑子时,它显示为太阳黑子已经开始。但是在重新索引或执行任何数据库操作时,我们收到连接被拒绝错误
production:
solr:
hostname: localhost
port: 8983
log_level: WARNING
path: /solr/default
development:
solr:
hostname: localhost
port: 8983
log_level: INFO
path: /solr/default
test:
solr:
hostname: localhost
port: 8983
log_level: WARNING
path: /solr/test
这是我们遵循的过程 https://gist.github.com/1v/8a04e74ed1e86d8c52cf007f77b178be
任何人都可以帮助我们吗
Error 503 connection refused
通常与以下问题有关:
- Solr服务器实际上并没有启动(太阳黑子可能会告诉你它是,不要听它,这通常是谎言)。要检查它是否真的启动了,请
rake sunspot:solr:start
两次。它应该第二次失败。 - Solr服务器在错误的环境中启动。执行
RAILS_ENV=your_environment bundle exec rake sunspot:solr:start
。把RAILS_ENV放在开头,而不是结尾。 - 您的solr服务器在2个不同的环境中启动两次。您甚至可能在solr文件夹中有一个文件write.lock。如果有此文件,请将其删除。
ps aux | grep solr
检查您只有一个 solr 正在运行。
通常,我们只是杀死 solr 进程并重新启动它们,90% 的时间就足够了。
编辑:检查solr是否实际运行的另一种方法是键入在shell而不是后台运行进程的rake sunspot:solr:run
。如果失败,您应该能够看到原因。