У меня есть пользователи root и deployer в моем ubuntu 13.10. У меня также есть nginx, единорог, установленный с приложением Rails 4. Я развертываю свое приложение с помощью capistrano 3.
Проблема: Когда я готовлю env для Rails. Я установил nginx под пользователем root. Но после завершения развертывания мое средство развертывания не может перезапустить сервер nginx. Потому что он запущен пользователем root. А также развертыватель не может получить доступ для записи файла .pid.
Что мне делать? Удалить nginx и переустановить с пользователем deployer?
Спасибо за совет. Извините за плохой английский.
Не запускайте nginx от имени пользователя root, вы должны использовать пользователя www-data или даже пользователя вашего деплоя. Это можно изменить в файле /etc/nginx/nginx.conf (это должна быть первая строка). Затем перезапустите nginx с помощью службы или сценария init.d.
Вы можете предоставить sudo права пользователю развертывания для перезагрузки nginx. См. / Etc / sudoers и его справочную страницу для более подробной информации.