nginx init.d script
Рубрика: Development | 9 February 2009, 19:41 | Vadim Voituk
Как-то так получилось что при установки nginx с исходников, в /etc/init.d/ не установился скрипт для автозапуска web-сервера.
Потому исключительно себе на заметку (знаю точно – пригодится ещё) публикую то, что удалось найти в сети и допилить напильником до рабочего состояния.

когда собираеш из исходников, скрипт сам по себе не напишется =)
Ну как минимум могли бы его положить в $prefix/sbin, как, например, это делает php-fpm
А скрипт в директорию init.d надо просто положить, или его надо ещё и зарегить где-то, чтоб система стартовала его при запуске?
Конечно надо “зарегить”. В Debian GNU Linux:
man update-rc.d
Ну или руками в /etc/rc*.d/ посоздавать S* и K* линки на этот скрипт, к примеру по аналогии с присутствующими там линками Apache.
А значат S* и K* линки?
Я только S* создал. Для чего нужны K*?
2Вадім
я так розумію слова man update-rc.d тобі нічого на думку не навіяли
типу взяти і почитати %))
@corsair
>update-rc.dbash: update-rc.d: command not found
Не дружу я с вашими Debian/Ubuntu :) привык к КраснымШапкам, там все по-старинке – ручками.
Как я понимаю, S – start, K – kill.
K* можно конечно и не прописывать, но торда корректного стопа проги при ребуте, шотдауне не будет.
Ручками знать и уметь – это хорошо и это нужно, но update-rc.d удобнее тем что апдейтит все rcS.d кои руками править просто замахаешься.
# update-rc.d
usage: update-rc.d [-n] [-f] remove
update-rc.d [-n] defaults [NN | SS KK]
update-rc.d [-n] start|stop NN runlvl [runlvl] [...] .
-n: not really
-f: force
С Убунту тоже не дружу, а с шапками тем более)
А при `service nginx status` у меня скрипт чудно зависает. :)
…
status() {
status $prog
}
…
думаю нужно подправить на так:
…
ngx_status() {
status $prog
}
…
case “$1″ in
…
status)
ngx_status
;;
…
esac