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?

Jeff P.
fuente

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.

Matt Burrow
fuente
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.

Vladimir Salin
fuente
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

Puede aumentar client_max_body_size y upload_max_filesize + post_max_size durante todo el día. Sin ajustar el tiempo de espera HTTP, nunca funcionará.

// Necesitas ajustar esto, y probablemente también en el lado de PHP. client_body_timeout 2min // 1GB fileupload

Humano digital
fuente
Más información sobre cómo ajustar su servidor web aquí: doc.owncloud.com/server/admin_manual/configuration/files/…
Digital Human
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.

vasu patel
fuente