nginx.conf中增長定時解析域名對應的IP地址的配置,以下:nginx
# DNS server IP address, valid=300s means IP cache expire time, turn off IPv6 lookup resolver 10.2.0.2 valid=300s ipv6=off; # DNS resolve time out resolver_timeout 10s;
# DNS服務器的IP地址經過/etc/resolv.conf獲得。緩存
這不是一個完美的解決方案。其實咱們應該設置的是域名對應的IP地址的有效時間。而不該該設置DNS服務的IP地址。若是resolver的值變的不可用了呢?爲什麼不能自動調用DNS服務獲取域名的IP呢?或許多網卡的狀況,nginx沒法知道要用哪一個resolver?或許nginx跨平臺兼容問題?那爲何若是不設置,nginx啓動以後卻能自動獲取到域名對應的IP並緩存呢?服務器
先這樣設一下吧,看看可否解決問題。負載均衡
參考: Nginx with dynamic upstreamscurl