He cambiado nginx.conf para escuchar en 8080, no en 80. Pero cuando lo ejecuto sin sudo, recibo el error could not open error log file: open() "/opt/local/var/log/nginx/error.log" failed (13: Permission denied)
. Si lo ejecuto con sudo nginx
nginx inicia correctamente.
¿Por qué necesito hacer sudo nginx
cuando no está vinculado al puerto 80? ¿Siempre debo hacer sudo nginx
sin importar qué? No puedo encontrar una respuesta definitiva en macOS porque todos los artículos que encontré en Google simplemente inician nginx con sudo nginx
sin más explicaciones.
Sospecho que este es un problema relacionado con macport. Porque más tarde, cuando ejecuto redis-server(también instalado por macport) sin sudo y cuando quiero apagar redis-server, obtengo el mismo error, Permiso denegado para /opt/local/var/log/nginx
8712:M 31 Oct 2023 11:35:39.339 # User requested shutdown...
8712:M 31 Oct 2023 11:35:39.339 * Saving the final RDB snapshot before exiting.
8712:M 31 Oct 2023 11:35:39.340 # Failed opening the temp RDB file temp-8712.rdb (in server root dir /opt/local/var/log/nginx) for saving: Permission denied
8712:M 31 Oct 2023 11:35:39.340 # Error trying to save the DB, can't exit.
8712:M 31 Oct 2023 11:35:39.340 # Errors trying to shut down the server. Check the logs for more information.
¿Por qué redis necesita escribir log en /opt/local/var/log/nginx ahora? Siento que esto es un error de macport y he abierto un ticket con macport.
Pero mientras tanto, ¿cómo puedo solucionar este problema? ¿Debo cambiar el propietario de /opt/local/var/log/nginx a mi usuario de inicio de sesión (no recuerdo que necesite cambiar el propietario de la carpeta a administrador (no hay solicitud para eso después de la instalación) o siempre debo iniciar nginx y redis con sudo?
Pienso que ambos métodos pueden funcionar pero quiero saber la manera "correcta".