Я использую несколько виртуальных машин (Proxmox), каждая из которых имеет ограниченный объем хранилища. Поскольку я также использую службу загрузки файлов, меня интересует, требуется ли обратному прокси-серверу более 30 ГБ памяти.
У меня есть 1 обратный прокси, который перенаправляет на 3 веб-сервера.
Будет ли использоваться хранилище (или кеш?) Обратного прокси, если кто-то загружает 50 ГБ данных на веб-серверы?
Да. По умолчанию nginx кеширует тело запроса. Итак, если вы загружаете 50 ГБ на 5 серверов, ваш обратный прокси-сервер должен будет хранить все 50 ГБ. (при условии, что загрузка происходит одновременно)
Вы можете отключить это с помощью директивы proxy_request_buffering. Прочтите документацию, чтобы узнать, как его настроить, так как есть некоторые ограничения: http://nginx.org/en/docs/http/ngx_http_proxy_module.html#proxy_request_buffering
Ваш пост в меру непонятен. Я не думаю, что вы имеете в виду кеширование nginx fastcgi, но вы могли бы.
Nginx делает то, что вы ему приказываете. Если вы используете proxy_pass, я понимаю, что он просто передает соединение на следующий сервер, он не получает загрузку, а затем отправляет ее на себя. т.е. nginx действует как прокси-сервер подключения.
Если вы говорите о кешировании nginx fastcgi, то вы просто отключите его. Следующее отключает кеширование двумя способами - для POST и на основе набора правил. Используйте те биты, которые считаете подходящими.
server {
...
set $skip_cache 0;
if ($request_method = POST) {
set $skip_cache 1;
}
if ($query_string != "") {
set $skip_cache 1;
}
# Don't cache uris containing the following segments.
if ($request_uri ~* "/wp-admin/|/admin-*|/purge*|/xmlrpc.php|wp-.*.php|/feed/|sitemap(_index)?.xml") {
set $skip_cache 1;
}
# Don't use the cache for logged in users or recent commenters
if ($http_cookie ~* "comment_author|wordpress_[a-f0-9]+|wp-postpass|wordpress_no_cache|wordpress_logged_in|code") {
set $skip_cache 1;
}
location ~ \.(hh|php)$ {
fastcgi_cache CACHE_NAME;
fastcgi_cache_valid 200 1440m;
fastcgi_cache_methods GET HEAD;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
}