Универсальная настройка Sphinx

Сфинкс позволяет выполнять код внутри своих конфигурационных файлов. Поэтому можно настроить автоматическое подключение конфигурационных файлов разных сайтов по схеме «1 сайт - 1 файл».

Для этого поправим файл /etc/sphinxsearch/sphinx.conf:

/etc/sphinxsearch/sphinx.conf
#!/usr/bin/php -q
 
# Load custom configurations.
 
<?php foreach (glob(__DIR__."/configs/*.conf") as $f) include($f); ?>
 
indexer
{
  # Оставить значения
}
 
searchd
{
  # Оставить значения
  listen = localhost:9306:mysql41
}

Таким образом,

  • будут подключаться все *.conf файлы из каталога configs
  • будем слушать протокол MySQL на порту 9306

Конфигурационный файл каждого сайта можно хранить внутри структуры проекта, сделав на него симлинк:

cd /etc/sphinxsearch/configs/
ln -s /var/www/dokuwiki.ru/http/etc/sphinx.conf dokuwiki.ru.conf