Yüklenen dosya boyutunu artırmak için nginx.conf nasıl düzenlenir


106

maximum file sizeYüklenebilecek olanı artırmak istiyorum .
İnternette biraz araştırma yaptıktan sonra, 'nginx.conf' dosyasını düzenlemeniz gerektiğini fark ettim.
Şu anda bu dosyaya erişebilmemin tek yolu Putty'den geçip şu komutu yazmaktır:

vi /etc/nginx/nginx.conf

Bu dosyayı açacak ama şimdi 2 sorum var:

  1. Bu dosyayı nasıl düzenlerim?
  2. Çevrimiçi olarak aşağıdaki kod satırını eklemeniz gerektiğini öğrendim:

client_max_body_size 8M;

Bu kod satırını nereye koyacağım nginx.conf?

Yanıtlar:


202

Client_max_body_size ekle

Artık dosyayı düzenlediğinize göre, satırı sunucu bloğuna eklemeniz gerekir, örneğin;

server {
    client_max_body_size 8M;

    //other lines...
}

Birden fazla site barındırıyorsanız, bunu http bağlamına ekleyin;

http {
    client_max_body_size 8M;

    //other lines...
}

Ve ayrıca güncelleme upload_max_filesizeAynı boyutta dosya yükleyebilir böylece php.ini dosyasındaki.

Vi olarak kaydetme

İşiniz bittiğinde kaydetmeniz gerekir, bu vi'de tuşuna escbasarak ve yazıp :wqgeri dönerek yapılabilir.

Nginx ve PHP'yi Yeniden Başlatma

Şimdi yapılandırmaları yeniden yüklemek için nginx ve php'yi yeniden başlatmanız gerekiyor. Bu, aşağıdaki komutlar kullanılarak yapılabilir;

sudo service nginx restart
sudo service php5-fpm restart

Veya php servisinizin adı ne olursa olsun.


8
http {Tüm sunucuların devralması için içeriğe eklemek kötü bir fikir olmayabilir . Ve emin sen ayarlamak emin olun upload_max_filesizein php.inisenin nginx ayarını eşleşecek. Laravel'i Homestead / Vagrant kullanarak çalıştırıyorsanız, bu dosya adresinde bulunur /etc/php5/fpm/php.ini.
damiani

Evet Laravel Homestead kullandığımı söylemeyi unuttum. Bu yüzden '/etc/php5/fpm/php.ini' dosyasını açtım ve 'upload_max_filesize = 2M' kod satırını buldum, bu yüzden onu '2M' '8M' olacak şekilde değiştirmek istiyorum. Bu düzenlemeyi yaptıktan sonra, dosyadan çıkmak için 'Ctrl Z' tuşuna basıp ardından 'sudo service nging restart' komutunu çalıştırmalı mıyım?
Jeff P.

Ctrl-z tuşlarına basmıyorsunuz Bunu vi ile kaydetmeniz ve esc tuşuna basmanız, ardından: wq yazmanız ve enter tuşuna basmanız gerekir.
Matt Burrow

2
Editörden çıkın, vi komutunun başına sudo ekleyin. Bunun gibi; sudo vi /etc/nginx/nginx.conf veya sudo vi /etc/php5/fpm/php.ini
Matt Burrow

2
sudo nginx -s reload
nginx'i

12

Bir docker container olarak nginx proxy kullanılıyorsa (örneğin, jwilder / nginx-proxy ), yapılandırmanın client_max_body_size(veya diğer özellikleri) aşağıdaki yolu vardır :

  1. Örneğin /etc/nginx/proxy.confbu özellik için doğru bir değer içeren özel bir yapılandırma dosyası oluşturun
  2. Bir konteyneri çalıştırırken, bir hacim olarak ekleyin, örn. -v /etc/nginx/proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro

Yapılandırmaları değiştirmek için özel bir kapsayıcı oluşturmaya gerek olmadığı için kişisel olarak bu yolu oldukça kullanışlı buldu. Bağlı değilim jwilder/nginx-proxy, sadece projemde kullanıyordum ve yukarıda açıklanan yol bana yardımcı oldu. Umarım başkasına da yardımcı olur.


1
Bu ilgili proje: github.com/evertramos/… ( jwilder'ın nginx-proxy'si, lets encrypt'ten sertifika oluşturma ile birleştirildi) bunu yapmak için düzgün bir betiğe sahip ve bu seçeneğin önceden yapılandırılmış (100M'ye kadar) var. Örnekten .env'i oluşturun; çizgiyi uncomment #USE_NGINX_CONF_FILES=true; koş start.shve sonunda docker-compose up. (Her iki projeye de bağlı değilim).
glaux

3

Önce php.ini Yoluna gidin

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

sonra, sonraki değişiklik

upload_max_filesize = 999M
post_max_size = 999M

sonra ESC-->:wq

Şimdi Son olarak bu komutu yapıştırın,

sudo systemctl php7.2-fpm.service'i yeniden başlat

bitirdiniz.


Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.