Назад | Перейти на главную страницу

Сценарий выскочки Ubuntu для tracd зависает при запуске / остановке

Я пытаюсь настроить сценарий upstart Ubuntu (12.04 LTS) для управления встроенным веб-сервером Trac в качестве восходящего сервера для nginx.

Вот мой сценарий инициализации /etc/init/tracd.conf. я использовал http://codebyko.se/2010/11/26/tracd-with-upstart-on-ubuntu/ (первый и единственный результат Google для 'upstart' и 'tracd') в качестве отправной точки:

description "Tracd Web Server"

start on startup
stop on shutdown

expect daemon

exec sudo tracd -d -p 8000 -b 192.168.1.2 --user=www-data --group=www-data /trac/proj

Всякий раз, когда я это прохожу sudo service tracd start или sudo service tracd stop, он просто зависает и больше не возвращается. sudo service tracd status возвращает «запуск / завершение tracd, процесс 748». Журнал выскочки /var/log/upstart/tracd.log не содержит информации, как и системный журнал.

Если я просто скопирую и вставлю sudo tracd -d -p 8000 -b 192.168.1.2 --user=www-data --group=www-data /trac/proj в командной строке сервер работает нормально.

Вот что я пробовал:

Вещи, которые я не пробовал:

РЕДАКТИРОВАТЬ: Исправлено

Удаление --daemonize flag вроде бы исправил. Спасибо, Майк! Вот мой рабочий сценарий выскочки:

description "Trac Web Server"

start on startup
stop on shutdown

setuid www-data
setgid www-data

exec tracd -p 8000 -b 192.168.1.2 /trac/proj

Я не думаю, что вам нужно sudo, поскольку tracd устанавливает пользователя / группу

description "Tracd Web Server"

start on startup
stop on shutdown


expect daemon

exec tracd -p 8000 -b 192.168.1.2 --user=www-data --group=www-data /trac/proj

Если это не сработает, попробуйте настроить запущенного пользователя в выскочку через setuid и setgid

description "Tracd Web Server"

start on startup
stop on shutdown

setuid www-data
setgid www-data

expect daemon

exec tracd -p 8000 -b 192.168.1.2 /trac/proj

РЕДАКТИРОВАТЬ

удалите флаг -d .. выскочка, вы не можете запускать что-то как демон, он должен действовать так, как будто он работает на переднем плане