sudo запускают мой - проект не работает

Я использую следующий сценарий в /etc/init/my-project.conf на моем экземпляре AWS.

description "start and stop the go program 'my-project'"

start on filesystem or runlevel [2345]
stop on runlevel [!2345]

env USER='ec2-user'
env APP_DIR='/home/ec2-user/go/src/bitbucket.com/xxx/my-project/'
env APP_EXEC='my-project'

exec start-stop-daemon —start —chuid ${USER} —chdir ${APP_DIR} —exec ${APP_DIR}${APP_EXEC}

service my-project start команда дает unrecognized service ошибка. sudo start my-project запускает процесс, который не является моим проектом. Когда я работаю sudo status my-project команда я добираюсь my-project stop/waiting. Я не мог найти то, что я делаю неправильно.

В пути /home/ec2-user/go/src/bitbucket.com/xxx/my-project/ существует названный исполняемый файл my-project. Так в основном /home/ec2-user/go/src/bitbucket.com/xxx/my-project/my-project выполняет исполняемый файл.

2
задан 19 July 2015 в 16:29
1 ответ

Прежде всего, команда "service" предназначена для "сценариев инициализации System V", находящихся в /etc/init.d, а не для конфигураций Upstart в / etc / init. Для Upstart вы хотите использовать "initctl". Эквивалент

$ service --status-all

для Upstart:

$ initctl list

Используя пример конфигурации выскочки, найденный на https://gist.github.com/c4milo/940909 в качестве руководства, я смог получить конфигурацию Upstart для запуска, используя следующее:

    #description "start and stop the go program 'my-project'"

    start on filesystem or runlevel [2345]
    stop on runlevel [!2345]

    script

    USER='ec2-user'
    APP_DIR='/home/ec2-user/go/src/bitbucket.com/xxx/my-project/'
    APP_EXEC='my-project'

    su - ${USER} -c "exec ${APP_DIR}${APP_EXEC}"

    end script

Если ваши изменения в /etc/init/my-project.conf не вступают в силу, вы можете попытаться принудительно перезагрузить его с помощью:

$ initctl reload-configuration

Мне также удалось удалить использование "env" "поскольку в этом не было необходимости.

1
ответ дан 3 December 2019 в 12:46

Теги

Похожие вопросы