Cómo editar nginx.conf para aumentar la carga del tamaño del archivo


106

Quiero aumentar el maximum file sizeque se puede cargar.
Después de investigar un poco en línea, descubrí que tienes que editar el archivo 'nginx.conf'.
La única forma en que actualmente puedo acceder a este archivo es pasando por Putty y escribiendo el comando:

vi /etc/nginx/nginx.conf

Esto abrirá el archivo, pero ahora tengo 2 preguntas:

  1. ¿Cómo edito este archivo?
  2. Encontré en línea que debe agregar la siguiente línea de código:

client_max_body_size 8M;

¿Dónde pondría esta línea de código nginx.conf?

Respuestas:


200

Agregar client_max_body_size

Ahora que está editando el archivo, debe agregar la línea al bloque del servidor, así;

server {
    client_max_body_size 8M;

    //other lines...
}

Si está alojando varios sitios, agréguelo al contexto http así;

http {
    client_max_body_size 8M;

    //other lines...
}

Y también actualice el upload_max_filesizeen su archivo php.ini para que pueda cargar archivos del mismo tamaño.

Ahorrando en Vi

Una vez que haya terminado, debe guardar, esto se puede hacer en vi presionando la esctecla y escribiendo :wqy regresando.

Reiniciar Nginx y PHP

Ahora necesita reiniciar nginx y php para volver a cargar las configuraciones. Esto se puede hacer usando los siguientes comandos;

sudo service nginx restart
sudo service php5-fpm restart

O como se llame su servicio php.


8
Puede que no sea una mala idea agregarlo al http {contexto para que todos los servidores lo hereden. Y asegúrese de que modifique su upload_max_filesizeen php.inipara que coincida con la configuración de nginx. Si está ejecutando Laravel usando Homestead / Vagrant, ese archivo se encuentra en /etc/php5/fpm/php.ini.
Damiani

Sí, olvidé mencionar que estoy usando Laravel Homestead. Así que abrí '/etc/php5/fpm/php.ini' y encontré la línea de código 'upload_max_filesize = 2M', así que quiero cambiarla para que '2M' se convierta en '8M'. Una vez que hago esta edición, ¿presiono 'Ctrl Z' para salir del archivo y luego ejecuto 'sudo service nging restart'?
Jeff P.

No presionas ctrl-z Debes guardarlo con vi, presionar esc, luego escribir: wq y presionar enter.
Matt Burrow

2
Salga del editor, anteponga sudo al comando vi. Al igual que; sudo vi /etc/nginx/nginx.conf o sudo vi /etc/php5/fpm/php.ini
Matt Burrow

2
sudo nginx -s reloadrecarga la configuración sin reiniciar nginx
Vincnetas

12

En caso de que uno esté usando el proxy nginx como contenedor de la ventana acoplable (por ejemplo, jwilder / nginx-proxy ), existe la siguiente forma de configurar client_max_body_size(u otras propiedades):

  1. Cree un archivo de configuración personalizado, por ejemplo, /etc/nginx/proxy.confcon un valor correcto para esta propiedad
  2. Al ejecutar un contenedor, agréguelo como un volumen, por ejemplo -v /etc/nginx/proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro

Personalmente encontré esta forma bastante conveniente, ya que no es necesario crear un contenedor personalizado para cambiar las configuraciones. No estoy afiliado jwilder/nginx-proxy, solo lo estaba usando en mi proyecto y la forma descrita anteriormente me ayudó. Espero que también ayude a alguien más.


1
Este proyecto relacionado: github.com/evertramos/… (el nginx-proxy de jwilder combinado con la generación de certificados de lets encrypt) tiene una secuencia de comandos ordenada para hacer esto y tiene esta opción preconfigurada (a 100M). Cree el .env a partir de la muestra; descomentar la línea #USE_NGINX_CONF_FILES=true; corre start.shy finalmente docker-compose up. (No estoy afiliado a ninguno de los proyectos).
glaux


2

Primero navegue por la ruta de php.ini

sudo vi /etc/php/7.2/fpm/php.ini

entonces, siguiente cambio

upload_max_filesize = 999M
post_max_size = 999M

luego ESC-->:wq

Ahora, por último, pegue este comando,

sudo systemctl reiniciar php7.2-fpm.service

estás listo.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.