फ़ाइल आकार अपलोड बढ़ाने के लिए nginx.conf को कैसे संपादित करें


106

मुझे maximum file sizeलगता है कि अपलोड किया जा सकता है बढ़ाना चाहते हैं ।
ऑनलाइन कुछ शोध करने के बाद, मैंने पाया कि आपको 'nginx.conf' फाइल को एडिट करना होगा।
जिस तरह से मैं वर्तमान में इस फ़ाइल को एक्सेस कर सकता हूं वह है पोटीन से गुजरना और कमांड में टाइप करना:

vi /etc/nginx/nginx.conf

यह फ़ाइल खोल देगा लेकिन मेरे पास अभी 2 प्रश्न हैं:

  1. मैं इस फ़ाइल को कैसे संपादित करूं?
  2. मैंने ऑनलाइन पाया कि आपको कोड की निम्नलिखित पंक्ति जोड़नी होगी:

client_max_body_size 8M;

मैं कोड की इस पंक्ति को कहां रखूंगा nginx.conf?

जवाबों:


200

Client_max_body_size जोड़ें

अब जब आप फ़ाइल को संपादित कर रहे हैं तो आपको सर्वर ब्लॉक में लाइन जोड़ने की आवश्यकता है, जैसे;

server {
    client_max_body_size 8M;

    //other lines...
}

यदि आप कई साइटों की मेजबानी कर रहे हैं, तो इसे http संदर्भ में जोड़ें जैसे;

http {
    client_max_body_size 8M;

    //other lines...
}

और upload_max_filesizeअपनी php.ini फ़ाइल में भी अपडेट करें ताकि आप उसी आकार की फाइलें अपलोड कर सकें।

वी में बचत

एक बार जब आपको किया जाता है तो आपको बचत करने की आवश्यकता होती है, यह vi में escकुंजी दबाने और टाइपिंग :wqऔर वापसी के साथ किया जा सकता है ।

Nginx और PHP को पुनरारंभ करना

अब आपको कॉन्फ़िगरेशन को फिर से लोड करने के लिए nginx और php को पुनरारंभ करने की आवश्यकता है। यह निम्नलिखित आदेशों का उपयोग करके किया जा सकता है;

sudo service nginx restart
sudo service php5-fpm restart

या जो भी आपकी php सर्विस कहलाती है।


8
इसे http {संदर्भ में जोड़ने के लिए एक बुरा विचार नहीं हो सकता है ताकि सभी सर्वरों को यह विरासत में मिले। और सुनिश्चित करें कि आप अपने nginx सेटिंग से मिलान करने के लिए अपने upload_max_filesizeको समायोजित करते हैं php.ini। यदि आप Homestead / Vagrant का उपयोग करके Laravel चला रहे हैं, तो वह फ़ाइल पर स्थित है /etc/php5/fpm/php.ini
डेमियन

हां मैं यह उल्लेख करना भूल गया कि मैं लारवेल होमस्टेड का उपयोग कर रहा हूं। इसलिए मैंने '/etc/php5/fpm/php.ini' खोला और कोड की लाइन 'upload_max_filesize = 2M' पाई, इसलिए मैं इसे बदलना चाहता हूं ताकि '2M' '8M' बन जाए। एक बार जब मैं इसे संपादित कर लेता हूं, तो क्या मैं फ़ाइल से बाहर निकलने के लिए 'Ctrl Z' को हिट करता हूं और फिर 'sudo service nging restart' चला सकता हूं?
जेफ पी।

आप ctrl-z नहीं मारते हैं। आपको इसे vi प्रेस esc के साथ सहेजने की आवश्यकता है फिर टाइप करें: wq और एंटर दबाएं।
मैट बुरो

2
संपादक से बाहर आओ, sudo के साथ vi आदेश प्रस्तुत करें। इस तरह; sudo vi /etc/nginx/nginx.conf या sudo vi /etc/php5/fpm/php.ini
मैट

2
sudo nginx -s reloadपुन: लोड किए बिना कॉन्फ़िगरेशन पुन: लोड करता है nginx
Vincnetas

12

यदि कोई डॉकटर कंटेनर के रूप में nginx प्रॉक्सी का उपयोग कर रहा है (उदाहरण के लिए jwilder / nginx -xy ), तो कॉन्फ़िगर करने का निम्न तरीका है client_max_body_size(या अन्य गुण):

  1. /etc/nginx/proxy.confइस प्रॉपर्टी के लिए सही मान के साथ एक कस्टम कॉन्फ़िग फ़ाइल बनाएं
  2. कंटेनर चलाते समय, इसे वॉल्यूम के रूप में जोड़ें -v /etc/nginx/proxy.conf:/etc/nginx/conf.d/my_proxy.conf:ro

व्यक्तिगत रूप से इस तरह से सुविधाजनक पाया गया क्योंकि कॉन्फ़िगरेशन बदलने के लिए कस्टम कंटेनर बनाने की कोई आवश्यकता नहीं है। मैं इसके साथ संबद्ध नहीं हूं jwilder/nginx-proxy, बस अपने प्रोजेक्ट में इसका उपयोग कर रहा था, और ऊपर वर्णित तरीके से मुझे मदद मिली। आशा है कि यह किसी और की भी मदद करे।


1
यह संबंधित प्रोजेक्ट: github.com/evertramos/… (नेट्वर्क से सर्टिफिकेशन जेनरेशन के साथ संयुक्त jwilder से nginx- प्रॉक्सी) के पास ऐसा करने के लिए एक साफ-सुथरी स्क्रिप्ट है और इसमें यह विकल्प पूर्व-निर्धारित है (100M तक)। नमूना से .env बनाएँ; लाइन को अनकंफर्ट करना #USE_NGINX_CONF_FILES=true; भागो start.shऔर अंत में docker-compose up। (मैं किसी भी परियोजना से संबद्ध नहीं हूं)।
glaux

3

सबसे पहले php.ini के पाथ को नेविगेट करें

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

फिर, अगला परिवर्तन

upload_max_filesize = 999M
post_max_size = 999M

फिर ESC-->:wq

अब अंत में इस कमांड को पेस्ट करें,

sudo systemctl पुनरारंभ php7.2-fpm.service

आप कर चुके हैं।


2

आप दिन भर में client_max_body_size और upload_max_filesize + post_max_size बढ़ा सकते हैं। HTTP टाइमआउट को समायोजित किए बिना यह कभी काम नहीं करेगा।

// आपको इसे समायोजित करने की आवश्यकता है, और शायद PHP की तरफ भी। client_body_timeout 2min // 1GB फ़ाइलअपलोड


अपने वेब-सर्वर को यहां ट्विक
डिजिटल मानव
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.