Это способ упаковки приложения. На большинстве * nix настройкой по умолчанию является непривилегированный пользователь, который не может прослушивать порт <1024, а веб-серверы используют 80 и 443.
Linux 2.2+, Solaris 10+ и FreeBSD позволяют пользователям без полномочий root прослушивать порты ниже 1024, но только по умолчанию. Большинство согласилось на использование, root
поэтому оно остается в использовании.
Помимо доступа к привязке к привилегированному порту, вам нужно убедиться, что у пользователя, работающего с nginx, есть доступ ко всем нужным файлам. Вам, вероятно , не нужно заходить так далеко, но просто установите правильное разрешение для файлов / каталогов. Вы также должны убедиться, что загрузочные скрипты не делают ничего хитрого, как ulimit
изменения (как всегда кажется mysql).
setcap
и getcap
позволит вам изменить или просмотреть cap_net_bind_service
возможность для исполняемого файла. Это будет действовать для всех, кто исполняет двоичный файл.
setcap cap_net_bind_service=+ep /usr/sbin/nginx
SELinux предоставляет возможность конфигурировать и контролировать возможности на уровне пользователя.
Настройки системы Freebsd
Настройки зарезервированного порта являются глобальными для системы
sysctl net.inet.ip.portrange.reservedhigh=0
sysctl net.inet.ip.portrange.reservedlow=0
Solaris обеспечивает точный контроль привилегий на уровне пользователя. Это привилегии для apache, но они, вероятно, будут работать и для nginx.
/usr/sbin/usermod -K defaultpriv=basic,proc_exec,proc_fork,net_privaddr nginx