通常情况我们需要密切关注网站服务的可持续访问,并且会采取一些宕机提醒及预防措施。下面我们通过配置nginx来实现预防网站服务单点故障的方法。
我们的web服务通常运行在一台主服务器,由它来为用户的日常访问提供服务。如果这台web服务器宕机了,那么我们的所有业务服务将停止,这将对我们的利益带来很大的损失。如果在宕机时,有一个程序能把用户的访问转发到另外一台应急服务器上,那我们的服务将持续下去,而且在我们维护主服务器时能够不间断地提供服务。nginx就可以做到。下面我们来看看如何配置。
upstream serverUpstream{
server 10.252.131.148:3100;
server 10.173.163.241:3100 backup;
keepalive 8;
}
server {
...
location ~ ^/ {
limit_req zone=allips burst=4;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_headers_hash_max_size 1024;
proxy_headers_hash_bucket_size 128;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Accept-Encoding "";
proxy_pass http://serverUpstream;
proxy_http_version 1.1;
proxy_set_header Connection "";
}
}
serverUpstream中包含了两个ip地址,第一个是主服务器的地址,第二个是应急服务器的地址,并带上backup标记,表示主服务器无法工作时,就用backup服务器。
这样,nginx就帮我们做好单点故障的预防咯。还有需要注意的就是主服务器和应急服务器的代码同步,发布新版本时需要发布到这两个机器上去。再者,如果我们在服务器宕机时做个提醒,然后工程师们进行及时维修,nginx同时解决单点故障,这样项目就不会因为宕机而受到太大的影响。
感谢您的阅读!
如果看完后有任何疑问,欢迎拍砖。
欢迎转载,转载请注明出处:http://www.yangrunwei.com/a/30.html
邮箱:glowrypauky@gmail.com
QQ: 892413924