Гениально. Спасибо. Мне помогло. По дефолту пидфайл лежит ведь в nginx/logs/nginx.pid. Меня сбил с толку параметр pid у start-stop-daemon, хотя очевидно, что nginx сам пишет pid без подсказок.
И тогда финальный вопрос: а зачем тогда во всех инит скриптах в нете поголовно дают этот параметр start-stop-daemon? Он же, вроде, не обязательный.
13 июня 2011 г. 14:45 пользователь Alex Smorodin <agsmorodin@xxxxxxxxx> написал:
случайно отправил.
попробуйте запустить скрипт через sudo sh -x ./script.sh start
Приветствую всех. Тут такое дело -
собрал себе nginx 1.0.2 под Linux version 2.6.32-5-686
(Debian 2.6.32-34squeeze1) (dannf@xxxxxxxxxx) (gcc version 4.3.5 (Debian
4.3.5-4) ) #1 SMP Wed May 18 07:08:50 UTC 2011
Воткнул https://github.com/JasonGiedymin/nginx-init-ubuntu
этот инит скрипт. И не работает оно.
Собственно, start-stop-daemon запускает nginx, но
не создаёт pidfile. Соответственно, не могу
рестартить или останавливать, что есть
неудобно. Может, сталкивался кто? А то я
уже руки до костей сгуглил и не могу
понять, куда бы ещё погуглить.
pidfile создает не инит-скрипт, а nginx.
когда Вы самостоятельно собирали nginx - скорее всего, Вы ему указали
совсем другой путь для pidfile, не такой, какой указан в init-скрипте.
с какими именно параметрами у Вас собран nginx
можно посмотреть с помощью команды nginx -V
если при сборке nginx указан --pid-path=/var/run/nginx.pid
и в инит-скрипте указано то же имя файла /var/run/nginx.pid
тогда все должно работать. только если инит-скрипт пытается
запускать именно тот новый бинарник, который Вы собрали...