无法在生产环境中启动 Sunspot Solr

Unable to start Sunspot Solr in production

我很难在生产环境中启动 Sunspot Solr。当我尝试使用 RAILS_ENV=production bundle exec rake sunspot:solr:run 从我的 Rails 应用程序中 运行 前景中的太阳黑子时,我可以看到以下消息:

The currently defined JAVA_HOME (/usr/lib/jvm/java-7-openjdk-amd64/jre/bin) refers to a location where Java could not be found. Aborting. Either fix the JAVA_HOME variable or remove it from the environment so that the system PATH will be searched.

我 运行宁 Ubuntu 15.10。我已经安装了 openjdk-7-jre,我可以看到我的 /etc/environment 文件包含:

LC_ALL=en_US.UTF-8
LANG=en_US.UTF-8
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games"
JAVA_HOME="/usr/lib/jvm/java-7-openjdk-amd64/jre/bin"

如果我 echo $JAVA_HOME 我得到: /usr/lib/jvm/java-7-openjdk-amd64/jre/bin 这似乎是正确的,因为我可以在该目录中看到一个 java 二进制文件。我真的很困惑,想不通为什么 Sunspot Solr 没有开始生产。

如有任何帮助,我们将不胜感激。 提前致谢!

已通过在 /etc/environment 中将 $JAVA_HOME 设置为 /usr/lib/jvm/java-7-openjdk-amd64 来修复。然后必须创建以下内容:

mkdir -p /my/app/solr/production/data/index
mkdir -p /my/app/solr/production/data/tlog
touch /my/app/solr/production/core.properties

然后将以下内容添加到 core.properties 文件中:

name=production
configSet=sunspot
dataDir=./data

现在似乎一切正常:)