location
का उपयोग अभिव्यक्तियों से मेल खाने और उनके लिए नियम बनाने के लिए किया जाता है।
upstream
उन सर्वरों को परिभाषित करता है जिन्हें संदर्भित किया जा सकता है।
आपके उदाहरण में इसका मतलब है कि यदि आप एक समकक्ष प्राप्त करना चाहते हैं
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
, आपको आवश्यकता होगी
upstream php {
server unix:/run/php-fpm/php-fpm.sock;
}
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass php;
fastcgi_index index.php;
include fastcgi.conf;
}
अपस्ट्रीम ब्लॉक का लाभ यह है कि आप एक से अधिक सर्वर / पोर्ट / सर्विस को अपस्ट्रीम के रूप में कॉन्फ़िगर कर सकते हैं और उन पर ट्रैफ़िक वितरित कर सकते हैं, उदाहरण के लिए:
upstream php {
server 127.0.0.1:8080 max_fails=3 fail_timeout=30s;
server 192.68.1.2 weight=5;
server unix:/run/php-fpm/php-fpm.sock;
}
आप इसके बारे में अधिक जानकारी nginx प्रलेखन में पा सकते हैं:
http://nginx.org/en/docs/http/ngx_http_upstream_module.html