X

CentOS 7: автозапуск Sphinx

После установки Sphinx, обратил внимание, что при перезагрузке сервера не происходит его автозагрузка. Решил поискать в чем причина и нашел..

В CentOS 7 автозагрузкой Sphinx-а управляет Systemd. Поэтому первым делом проверяем, есть ли файлы конфигурации sphinx.service и/или sphinxsearch.service в папке: /etc/systemd/system/. В моем случае оба файла были на месте, поэтому я их изучил и увидел что их загрузка зависит от других сервисов:

[Unit]
Description=SphinxSearch Search Engine
After=network.target remote-fs.target nss-lookup.target
After=syslog.target

Решил проверить работают ли эти сервисы:

systemctl list-units --type=target --all

Оказалось target syslog отсутствует вообще:

* syslog.target  NOT-FOUND  inactive  dead   syslog.target

Именно поэтому и не стартовал sphinx. Немного погуглив, оказалось что вместо syslog в системе используется rsyslog. Поэтому я сделал следующее:

  • закомментировал:
    #After=syslog.target
  • добавил:
    After=rsyslog.service
  • Уведомил об изменениях Systemd
    systemctl daemon-reload
  • Перезапустил сервер
    reboot
  • Убедился что теперь Sphinx загрузился автоматически
    service status sphinx

 

Категории: Linux
Тэги: centos7sphinx

Комментарии (2)

  • Здравствуйте. помогите, пожалуйста, разобраться. Не запускается сфинкс.


    [root@server0 ~]# systemctl status searchd.service
    ● searchd.service - SphinxSearch Search Engine
    Loaded: loaded (/usr/lib/systemd/system/searchd.service; enabled; vendor preset: disabled)
    Active: failed (Result: resources) since Fri 2017-05-05 15:10:59 MSK; 33s ago
    Process: 4175 ExecStart=/usr/bin/searchd --config /etc/sphinx/sphinx.conf (code=exited, status=0/SUCCESS)
    Process: 4171 ExecStartPre=/bin/chown sphinx.sphinx /var/run/sphinx (code=exited, status=0/SUCCESS)
    Process: 4169 ExecStartPre=/bin/mkdir -p /var/run/sphinx (code=exited, status=0/SUCCESS)

    May 05 15:10:59 server0 searchd[4175]: Copyright (c) 2008-2016, Sphinx Technologies Inc (http://sphinxsearch.com)
    May 05 15:10:59 server0 searchd[4175]: precaching index 'bitrix'
    May 05 15:10:59 server0 searchd[4175]: WARNING: index 'bitrix': preload: failed to open /var/lib/sphinx/bi...RVING
    May 05 15:10:59 server0 searchd[4175]: FATAL: no valid indexes to serve
    May 05 15:10:59 server0 searchd[4175]: Sphinx 2.2.11-id64-release (95ae9a6)
    May 05 15:10:59 server0 searchd[4175]: Copyright (c) 2001-2016, Andrew Aksyonoff
    May 05 15:10:59 server0 systemd[1]: Failed to read PID from file /var/run/sphinx/searchd.pid: Invalid argument
    May 05 15:10:59 server0 systemd[1]: Failed to start SphinxSearch Search Engine.
    May 05 15:10:59 server0 systemd[1]: Unit searchd.service entered failed state.
    May 05 15:10:59 server0 systemd[1]: searchd.service failed.
    Hint: Some lines were ellipsized, use -l to show in full.

    Проделывала, то, что у вас написано - не помогло. Индексы не создаются. Ничего не работает. Бьюсь головой о стену )

    • Привет, у тебя sphinx не может найти индексы. Связанно это всего скорее либо с тем что их нет по указанному пути, либо потому что они битые. Попробуй запустить команду:
      indexer --rotate --all, после этого проверь, чтобы по пути указанному тут:

      WARNING: index 'bitrix': preload: failed to open /var/lib/sphinx/bi...RVING

      появились файлы

      Прочитать про indexer можно в оф. документации:
      http://sphinxsearch.com/docs/current/ref-indexer.html