Pull to refresh

Добавляем Sphinx к Денверу

Reading time2 min
Views4.2K
Всем привет!

Сделал небольшой аддон к Денверу. Решил поделиться. Теперь при старте он запускает Sphinx, а при стопе выключает его. Версия: Денвер-3 2008-01-13.

Можно было добавить в denwer/scripts/main/start/ файл.bat, где просто написать пару команд для его запуска. Правда, чуть сложнее с остановкой. Но хочется, чтобы было все красиво. Со словами «Запускаем… Ждем 2 секунды… Готово...» Красота!

Итак.

1. Скачиваем Sphinx. По техническим причинам я брал версию 0.9.7. (Sphinx 0.9.7 (Apr 02, 2007)) на странице sphinxsearch.com/downloads.html

2. Все распаковываем в папку sphinx на одном уровне с папками denwer, home, tmp, usr.

3. Из консоли проверяем запуск searchd, search и indexer. У меня попросили библиотеку libmySQL.dll. Ссылку на которую, крутой дядя Андрей организовал здесь: sphinxsearch.com/forum/view.html?id=911 Копируем библиотеку к файлам сфинкса. Все ок. Запускается.

4. Видим, что сфинкс так и планирует висеть отдельным окном. Это уже некрасиво. Находим решение на странице www.ntwind.com/software/utilities/hstart.html Скачиваем приложение. Проверил его на viruslist.ru. Не жалуется. Кладем hstart.exe рядом с нашим сфинксом.

5. Так как нам сфинкс на денвере нужен только в тестовых целях, то делаем один .conf файл на наши индексы. Теперь в папке sphinx находится минимум 6 файлов: sphinx.conf, libmySQL.dll, hstart.exe, indexer.exe, search.exe, searchd.exe.

6. Готовимся добавлять все это дело к денверу.

7. Читаем справку denwer/scripts/README.txt. Понимаем разницу между папками scripts/main/ и scripts/reserve/.

8. Смотрим содержимое scripts/reserve/start/, scripts/reserve/stop/. Понимаем, что лучше добавить команды в конфигурацию main. Тогда все будет работать при любой конфигурации.

9. Добавляем в scripts/main/start/ и scripts/main/stop / файл 90_sphinx, в котором, по аналогии с остальными файлами, написано: init.d/sphinx

10. Идем делать init.d/sphinx.pl. Смотрим примеры написанных скриптов.

11. Из sendmail.pl берем простую процедуру запуска. Из mysql.pl берем процедуру остановки сфинкса. Единственное, на что стоит обратить здесь внимание, пожалуй, так это на небольшую паузу перед запуском searchd. Нужна для того, чтобы mysqld успел запуститься и начал принимать запросы.

12. Покалякали немного, получили примерно такой файл www.ewgenij.net/downloads/works/sphinx.pl Для себя отдельно я еще добавил запуск indexer перед запуском searchd. Чтобы индекс немного обновлялся перед запуском этой штукенции.

Все готово :)

PS. Недавно нашел, где подправить пару строк, чтобы не создавались хосты с www. Если интересно: www.ewgenij.net/denwer-no-www.html
Tags:
Hubs:
Total votes 11: ↑8 and ↓3+5
Comments10

Articles