Estoy usando node.js
Nginx como servidor web ejecutándose en Slackware 14.1.
Creé una página que carga un archivo. En mi máquina de desarrollo (como Debian) funciona bien, pero en producción (servidor Slackware) aparece este error en /var/log/nginx/error.log
:
2015/10/09 15:08:44 [crit] 1231#0: *5 open() "/var/lib/nginx/client_body/0000000003" failed (13: Permission denied), client: 10.0.0.22, server: localhost, request: "POST /home/perfil_usuario/upload HTTP/1.1", host: "aluno.fio.edu.br", referrer: "http://aluno.fio.edu.br/home/perfil_usuario/upload"
Y Nginx devuelve un archivo 500 Internal Server Error
.
Busqué y probé las correcciones de muchas publicaciones pero el error continúa.
Respuesta1
Como dice el mensaje de error, este es unPermisosasunto.
Esto generalmente se debe a que el usuario del proceso nginx ( www-data
por ejemplo) no tiene acceso de lectura/ejecución a uno de los directorios principales.
Verifique /var/lib/nginx/client_body/
y asegúrese de que el permiso sea correcto en cada nivel de directorio para resolver el problema.
Respuesta2
En mi caso, el problema fue que la propiedad de /var/lib/nginx era incorrecta. Todos los demás directorios en los que escribe nginx eran propiedad de www-data, mientras que el directorio 'nginx era propiedad de root. En este caso, la mejor solución es cambiar la propiedad del directorio para que coincida con la de los otros directorios en los que escribe nginx.
Respuesta3
En mi caso, la propiedad de /var/lib/nginx se estableció en www-data:adm y el permiso se estableció en 770
Los cambios sí me funcionaron.
- raíz de chown: raíz /var/lib/nginx/
- chmod 0755 /var/lib/nginx
Además, /var/lib/nginx/tmp era diferente. Se actualizó la propiedad y el permiso según los puntos 1 y 2.
y se mencionó el contenido dentro de /var/lib/nginx/tmp
drwx------. 2 www-data root 6 29 de septiembre 23:37 uwsgi
drwx------. 2 raíz de datos www 6 29 de septiembre 23:37 scgi
drwx------. 2 www-data root 6 29 de septiembre 23:37 fastcgi
drwx------. 10 www-data root 78 20 de octubre 12:17 proxy
drwx------. 2 www-data root 6 20 de octubre 12:20 client_body
Después de configurar estos permisos y propiedad, reinicie nginx. Y no verá el error de permiso denegado y Nginx dejó de dar un error interno del servidor 500 y estaba viendo el resultado esperado. Gracias