Estoy intentando cargar un archivo de 30 MB en mi servidor y no funciona.
Cuando subo un archivo de 30 MB, la página carga " Página no encontrada "
Cuando subo un archivo de 3 MB, recibo " 413 Request Entity Too Large " con nginx / 0.6.32
Estoy tratando de encontrar nginx para poder aumentar " client_max_body_size " pero no puedo encontrar nginx instalado en mi servidor. Incluso intenté ejecutar:
vi /etc/nginx/nginx.conf
o
vi /usr/local/nginx/conf/nginx.conf
para comprobar si existe el archivo de configuración, pero no pude encontrarlo en mi servidor.
¿Hay alguna forma de resolver este problema? O tengo que instalar nginx en mi servidor.
EDITAR:
He realizado todos los cambios necesarios en mis archivos php.ini,
post_max_size 128M
upload_max_filesize 100M
memory_limit 256M
Gracias, Raju
ps aux | grep nginx
para ver si se está ejecutando?which nginx
? Eso le dará la ubicación del ejecutable, no el archivo de configuración, pero al menos debería confirmar si nginx está instalado o no.Respuestas:
Fuente: http://www.cyberciti.biz/faq/linux-unix-bsd-nginx-413-request-entity-too-large/
Edite el archivo conf de nginx:
Agregue una línea en la sección http:
http { client_max_body_size 100M; }
No use MB, no funcionará, ¡solo el M!
Además, no olvide reiniciar nginx
fuente
http { }
sección, ¡agregue el resto dentro de ella! Agregar una nuevahttp {}
sección fallará y dará un"http" directive is duplicate
error en el registro de Nginx.-en php.ini (dentro de /etc/php.ini)
max_input_time = 24000 max_execution_time = 24000 upload_max_filesize = 12000M post_max_size = 24000M memory_limit = 12000M
-en nginx.conf (dentro de / opt / nginx / conf)
client_max_body_size 24000M
Está funcionando para mi caso
fuente
Primero edite el archivo de configuración de Nginx (
nginx.conf
)Ubicación:
sudo nano /etc/nginx/nginx.conf
Agregue los siguientes códigos:
http { client_max_body_size 100M; }
Luego agregue las siguientes líneas en el archivo de configuración PHP (
php.ini
)Ubicación:
sudo gedit /etc/php5/fpm/php.ini
Agregue los siguientes códigos:
memory_limit = 128M post_max_size = 20M upload_max_filesize = 10M
fuente
nginx.conf
archivo según las instrucciones, ¡pero estaba vacío! No me esperaba eso, pero cuando agregué su código todavía funcionaba ... como supongo que uno esperaría, pero por alguna razón no lo estaba y ¡estaba muy feliz cuando lo hizo!Ingrese el archivo nginx de dominio:
Agregar al archivo este código
client_max_body_size 24000M;
Si obtiene un error, use este comando
fuente
Agrego los cambios directamente a mi virtualhost en lugar de la configuración global de nginx, así:
server { client_max_body_size 100M; ... }
Y luego cambio los parámetros en php.ini, como los comentarios anteriores:
max_input_time = 24000 max_execution_time = 24000 upload_max_filesize = 12000M post_max_size = 24000M memory_limit = 12000M
y lo que no puedes olvidar es reiniciar nginx y php-fpm, en centos 7 queda así:
fuente
Luego agregue una línea en la sección http
http { client_max_body_size 100M; }
no use MB solo M.
luego para la ubicación de php
para el uso máximo de hoy en día php 7.0 o superior
sudo nano /etc/php/7.2/fpm/php.ini //7.3,7.2 or 7.1 which php you use
marque los que aumentan por su deseo.
memory_limit = 128M post_max_size = 20M upload_max_filesize = 10M
reiniciar php-fpm
fuente
Suponiendo que realizó los cambios necesarios en sus archivos php.ini:
Puede resolver el problema agregando la siguiente línea en su archivo nginx.conf que se encuentra en la siguiente ruta:
luego edite el archivo usando el editor de texto vim de la siguiente manera:
y agregue client_max_body_size con un valor lo suficientemente grande, por ejemplo:
client_max_body_size 20MB;
Después de eso, asegúrese de guardar usando
:xi
o:wq
Y luego reinicie su nginx.
Eso es.
Funcionó para mí, espero que esto ayude.
fuente
Conseguí que la carga funcionara con los cambios anteriores. Pero cuando hice los cambios, comencé a recibir una respuesta 404 en la carga de archivos, lo que me llevó a realizar una mayor depuración y descubrí que era un problema de permiso al verificar nginx error.log
Solución:
Verifique la propiedad actual del usuario y del grupo en / var / lib / nginx.
$ ls -ld /var/lib/nginx
drwx ------. 3 nginx nginx 17 de octubre 5 19:31 / var / lib / nginx
Esto indica que un usuario y un grupo posiblemente inexistentes llamado nginx son los propietarios de esta carpeta. Esto impide la carga de archivos.
En mi caso, el nombre de usuario mencionado en "/etc/nginx/nginx.conf" era
Cambie la propiedad de la carpeta al usuario definido en nginx.conf en este caso vagrant.
$ sudo chown -Rf vagrant:vagrant /var/lib/nginx
Verifique que realmente haya cambiado.
$ ls -ld /var/lib/nginx drwx------. 3 vagrant vagrant 17 Oct 5 19:31 /var/lib/nginx
Vuelva a cargar nginx y php-fpm para una seguridad más segura.
El error de permiso denegado debería desaparecer. Verifique el error.log (basado en la ubicación de nginx.conf error_log).
$ sudo nano /path/to/nginx/error.log
fuente
Abrir archivo
/etc/nginx/nginx.conf
Agregar o cambiarclient_max_body_size 0;
fuente
Utilizar:
comando o agregar:
para obtener la ubicación del archivo de configuración.
Actualice estas variables de acuerdo con su necesidad y servidor
max_input_time = 24000 max_execution_time = 24000 upload_max_filesize = 12000M post_max_size = 24000M memory_limit = 12000M
En Linux, deberá reiniciar el servicio nginx / apache y phpfpm para que se carguen las nuevas configuraciones de ini. En xampp, ammps, puede reiniciarlos desde el panel de control que viene con dichas aplicaciones.
fuente