如何在 debian 8 上设置 rails sunspot solr 生产?

How can I set up rails sunspot solr production on debian 8?

我有两个 rails 带有 sunspot solr 的 Web 应用程序。

它们在开发环境中运行良好(从 rake sunspot:solr:start 开始 solr),但在生产环境中,我想使用两个 rails 应用程序安装一个单独的多核 solr 服务。

我该怎么做?

可行的解决方案:

  1. 使用 this or this 说明安装 Java8。
  2. 下载solr. I'm using version 6.2.0.
  3. 从 solr-x.y.z.tgz 解压 bin 目录 ( bin/install_solr_service.sh ) 中的 install_solr_service.sh 脚本。
  4. 运行 此脚本将上面的 tgz 文件的名称作为第一个参数 ( ./install_solr_service.sh solr-x.y.z.tgz )。它将为您的系统安装 solr。核心将在 /opt/solr 目录中,数据将在 /var/solr.
  5. 使用service solr start命令启动服务。守护进程将以 solr 用户的名义执行。 (此用户由 install_solr_service.sh 脚本创建。)默认情况下,它将侦听端口 8983。
  6. 您可以通过http://your_server_name:8983/solr/ . You can find more info here访问其管理GUI。
  7. 创建您的 solr 核心:
cd /opt/solr
su - solr
./bin/solr create -c corename1
./bin/solr create -c corename2
  1. service solr stop

  2. 停止你的solr
  3. 将 solr 核心配置更改为您的配置。您可以在 /path/to/your/rails/application/solr/configsets/sunspot/conf 下找到您的配置文件。将这些文件(无需更改 lang 子目录)复制到您的 solr 核心配置目录 ( /var/solr/data/coranane1/conf/ )。请确定,在您更改这些文件后,它们的所有者将是 solr 用户。

  4. service solr start

  5. 启动你的solr
  6. 将您的 rails solr 配置文件 ( config/sunspot.yml ) 更改为类似的内容:

production:
  solr:
    hostname: localhost
    port: 8983
    path: '/solr/corename1'
    log_level: WARNING
    pid_dir: '/var/run'
  1. 在您的 rails 应用程序中重新索引 solr:
RAILS_ENV=production rake sunspot:solr:reindex
  1. 尽情享受吧。 :) 不要忘记通过 iptables 或类似的方式保护您的 solr 管理界面(http://your_server_name:8983/solr/)!