failed - (ubuntu) nginx:[emerg] bind() a 0.0.0.0:80 fallido(13: permiso denegado)
nginx emerg bind() to 0.0 0.0 8181 failed 13 permission denied (4)
nginx necesita acceso de root. por favor use
sudo nginx
siguiente paso junto con su contraseña
Necesito ayuda para descubrir la causa de este error de permiso denegado. ¿Qué permisos necesita nginx? ¿Por qué es tan complicado?
Si ves este mensaje después de ejecutar "nginx -t", no tienes una ejecución de previsión como raíz "sudo nginx -t"
el API del socket se une () a un puerto de menos de 1024, como 80 como su título mencionado, necesita acceso de root.
aquí está " Enlace a puertos de menos de 1024 sin acceso de root "
y otra forma más fácil es ejecutar nginx como root.
Si usa un puerto de mayor tamaño que 1024 y privilegio de root, entonces sigue teniendo este problema, eso puede ser causado por SELinux
:
Verifique este puerto, digamos 8024, en el puerto de Segange
sudo semanage port -l | grep http_port_t
Si la lista de puertos no es 8024, agréguela al puerto de segange
sudo semanage port -a -t http_port_t -p tcp 8024
actualización en 2017.12.22
Algunas veces su SELinux está disabled
, primero debe enforcing
. Compruebe el estado de SELinux por
$ sestatus
Más pasos pueden leer este maravilloso artículo: https://www.digitalocean.com/community/tutorials/an-introduction-to-selinux-on-centos-7-part-1-basic-concepts