location
được sử dụng để khớp các biểu thức và tạo quy tắc cho chúng.
upstream
định nghĩa các máy chủ có thể được tham chiếu đến.
Trong ví dụ của bạn, điều này có nghĩa là nếu bạn muốn có được một tương đương cho
location ~ \.php$ {
try_files $uri = 404;
fastcgi_pass unix:/run/php-fpm/php-fpm.sock;
fastcgi_index index.php;
include fastcgi.conf;
}
, Bạn sẽ cần
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;
}
Lợi ích của khối ngược dòng là bạn có thể định cấu hình nhiều máy chủ / cổng / dịch vụ làm thượng nguồn và phân phối lưu lượng truy cập trên chúng, ví dụ như sau:
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;
}
Bạn có thể tìm thêm thông tin về điều này trong tài liệu nginx:
http://nginx.org/en/docs/http/ngx_http_upstream_module.html