Я поддерживаю блестящий Dockerised R, размещенный в Ubuntu, с веб-сервером Ngnix, работающим в порту 5050. Он работает нормально, но неактивен после неактивности в течение некоторого времени.
Чтобы обойти это, я изменил файл параметра proxy_read_timeout
default
в /etc/nginx/sites-available
, как показано ниже
location /XXX/YYY/ {
rewrite ^/XXX/YYY/(.*)$ /$1 break;
proxy_pass http://localhost:5050;
proxy_redirect http://localhost:5050/ $scheme://$host/XXX/YYY/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_read_timeout 20d;
proxy_buffering off;
}
Я также увеличил числа во всех файлах ниже
/proc/sys/net/ipv4/tcp_keepalive_time
/proc/sys/net/ipv4/tcp_keepalive_intvl
/proc/sys/net/ipv4/tcp_keepalive_probes
/proc/sys/net/ipv4/tcp_retries2
Кроме того, я добавил ниже строки /etc/nginx/nginx.conf
http {
fastcgi_read_timeout 1d;
proxy_read_timeout 1d;
}
Кроме того, я добавил ниже строки кода на сервере. R
output$clock = renderText({
invalidateLater(5000)
Sys.time()
})
Но, к сожалению, ничто не решило мою проблему. Однако я заметил, что когда я использую ip-адрес: 5050 для запуска своего приложения, я не вижу серого, но когда я использую ip-адрес / XXX / YYY, тогда это происходит.
Я пользуюсь Cloudflare
бесплатной подпиской - доза это повлияет на вышеуказанную проблему? Если это так, то каково решение?