После установки 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
Комментарии (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