服务器重启时自动启动一个程序(Sphinx searchd)吗?

服务器重启时自动启动一个程序(Sphinx searchd)吗?

当我的服务器(运行 CENTOS)重新启动时,我必须手动为每个使用 Sphinx 的网站启动 searchd。

这并不难(只需在每个站点的终端中复制/粘贴一行),但如果我忘记这样做,或者不知道服务器已重新启动,那么我的网站上的搜索就会关闭。

我所指的启动 searchd 的命令是这样的:

/usr/local/bin/searchd --config /path/to/sphinx/etc/sphinx.conf

有没有办法让我的服务器重启时 searchd 自动启动?

答案1

要将 Sphinx 配置为自动启动,请先将searchd启动命令添加到服务器rc.local文件:

sudo vim /etc/rc.local

将以下代码粘贴到该exit 0行上方:

/usr/bin/searchd --config /var/www/yoursitecom/sphinx/etc/sphinx.conf

现在一切都已设置并正在运行,为了确保索引与数据库保持最新,请每 6 小时运行 crontab 来轮换(重建)索引:

sudo crontab -e

将以下行添加到文档底部。

0 */6 * * * /usr/bin/indexer --rotate --config /var/www/yoursitecom/sphinx/etc/sphinx.conf --all

来源 : 在 LAMP(Linux、Apache、MySQL 和 PHP)堆栈服务器上使用 Sphinx(搜索引擎)

答案2

就我而言(Debian 8.9)

  /usr/bin/searchd --config /etc/sphinxsearch/sphinx.conf 

没有启动 sphinx,而是需要运行

  sudo service sphinxsearch start

启动 Sphinx

harrymc 的回答为我指明了正确的解决方案,当我编辑

  sudo nano /etc/rc.local

并包括

  sudo service sphinxsearch start 

就在 exit 0 行之前,它最终在重新启动时加载了 sphinx。

答案3

您也可以考虑使用类似导师。它不像使用那么简单/etc/rc.local,而且需要一些配置,但它提供了更大的灵活性。

答案4

就我而言,这是有效的:

/etc/rc.local

我添加了一行:service searchd start

相关内容