Автоматически запускать программу (Sphinx searchd) при перезапуске сервера?
Когда мой сервер (на котором работает CENTOS) перезапускается, я должен вручную запустить searchd для каждого веб-сайта, на котором я использую Sphinx.
Это не сложно (просто скопируйте / вставьте одну строку в терминале для каждого сайта), но если я забуду это сделать или не знаю, что сервер был перезапущен, поиск на моих сайтах будет отключен.
Команда, на которую я ссылаюсь, чтобы запустить searchd:
/usr/local/bin/searchd --config /path/to/sphinx/etc/sphinx.conf
Есть ли способ автоматического запуска searchd при перезапуске моего сервера?
4 ответа
Чтобы настроить автоматический запуск Sphinx, начните с добавления searchd
команда запуска на сервер rc.local
файл:
sudo vim /etc/rc.local
Вставьте следующий код чуть выше exit 0
линия:
/usr/bin/searchd --config /var/www/yoursitecom/sphinx/etc/sphinx.conf
Теперь, когда все настроено и работает, чтобы убедиться, что индекс обновляется с базой данных, запустите crontab, чтобы вращать (перестраивать) индекс каждые 6 часов:
sudo crontab -e
Добавьте следующую строку в конец документа.
0 */6 * * * /usr/bin/indexer --rotate --config /var/www/yoursitecom/sphinx/etc/sphinx.conf --all
Источник: Работа со Sphinx (поисковой системой) на стековом сервере LAMP (Linux, Apache, MySQL и PHP).
В моем случае (Debian 8.9)
/usr/bin/searchd --config /etc/sphinxsearch/sphinx.conf
не запускается sphinx и вместо этого мне нужно запустить
sudo service sphinxsearch start
чтобы начать сфинкс
Ответ от harrymc указал мне на правильное решение, и когда я отредактировал
sudo nano /etc/rc.local
и включены
sudo service sphinxsearch start
как раз перед строкой выхода 0, после загрузки он, наконец, загружал sphinx.
Вы также можете рассмотреть возможность использования чего-то вроде супервизора. Это не так просто, как с помощью /etc/rc.local
и это требует некоторой конфигурации, но дает большую гибкость.
В моем случае работает это:
в /etc/rc.local
Я добавил строку: service searchd start