Я сделал службу, которую я без проблем запускаю на Windows, и начал портировать ее на unix.
Служба записывает динамический файл nginx.conf, и в одном окне его было легко, потому что он был только для запускаnginx.exe -c nginx.conf
Я столкнулся с несколькими проблемами на Ubuntu с разрешениями.
- nginx был установлен с помощью sudo:
sudo apt-get install -y nginx-extras
после этого запускается очень простая http-страница на 80-м порту. Это нормально.Моя конфигурация использует некоторые другие порты.
Когда моя служба запускается и пытается запустить nginx для нового файла конфигурации, я получаю следующую проблему:
nginx -c "/mnt/sfroot/_sf_gateway/S-Innovations.ServiceFabric.GatewayApplication/nginx.conf"
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2018/09/24 13:32:42 [emerg] 5825#5825: mkdir() "/usr/share/nginx/cache/GatewayService" failed (2: No such file or directory)
IМожно исправить кэш, установив местоположение, где у него есть разрешение.Но независимо от того, что я делаю, он пытается писать в /var/log/nginx/error.log.
Как мне
- Убить службу nginx по умолчанию (при необходимости))
- Запустить новую службу nginx, которой не нужен доступ для пользователя root (sudo)