У меня очень низкий трафик Nginx, который служит обратным прокси для внешней службы. У меня на коробке стоит Monit для перезапуска nginx
если он выйдет из строя. Разумеется, nginx
останавливается хотя бы раз в день на этой машине, и monit
должен перезапустить его.
Вот мой monit
конфигурация:
check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if cpu > 60% for 2 cycles then alert
if cpu > 80% for 25 cycles then restart
if totalmem > 400.0 MB for 5 cycles then restart
if children > 250 then restart
if loadavg(5min) greater than 10 for 8 cycles then stop
if failed host 127.0.0.1 port 80 protocol http
then restart
if 3 restarts within 5 cycles then timeout
Вот конфигурация моего сайта на nginx
:
server {
listen 80;
server_name somedomainname.com;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
location / {
proxy_pass https://somedomainname.com;
proxy_redirect off;
client_max_body_size 10m;
client_body_buffer_size 128k;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
Ваша проблема может быть связана с monit
не отправляет поле заголовка "Хост:". Попробуйте решить эту проблему, настроив location
для monit
для отслеживания того, что не проксируется:
location = /test_target.html {
root /var/www/public;
}
(Я нашел этот ответ, выполнив поиск Мониторинг nginx 499. Это был первый результат.)