nginx配置负载均衡需要有两个关键配置
在upstream中配置具体负载均衡信息
通过proxy_pass 来引用已经配置好的负载均衡信息
在http{}部分引入mylb.conf文件
http {
include /etc/nginx/mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
#tcp_nopush on;
keepalive_timeout 65;
#gzip on;
include /etc/nginx/conf.d/*.conf;
}
mylb.conf内容如下
server {
listen 8000;
server_name localhost;
location / {
proxy_pass http://springboot;
proxy_next_upstream http_502 http_504 http_404 error timeout invalid_header;
root /usr/share/nginx/html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
upstream springboot{
server 192.168.43.85:8764 max_fails=1 fail_timeout=10s;
server my.com:8764 max_fails=1 fail_timeout=10s ;
hash $cookie_jsessionid;
}
主要配置为
server下面的listen,表示监听的端口
location标识匹配的路径
proxy_pass路径匹配以后的upstream名字
upstream里面配置的为负载均衡的具体内容
其中server 后面配置的为负载到的服务的机器ip和端口
max_fails:失败重试次数
fail_timeout:超时时间
hash $cookie_jsessionid;根据jsession做会话保持。会对jsessionid做一个hash,每次路由到同一台后端服务上
本章给大家带来nginx负载均衡的相关配置讲解,首先大家先看下面的示意图:如上图所示;当客户端发起http请求时,先经过nginx服务器处理并重新分发请求;并下发给不同的服务器,从而实现nginx的负载均衡的简单应用。
负载均衡在服务端开发中算是一个比较重要的特性。因为Nginx除了作为常规的Web服务器外,还会被大规模的用于反向代理前端,因为Nginx的异步框架可以处理很大的并发请求,把这些并发请求hold住之后就可以分发给后台服务端(backend servers
为了保证Web应用程序的高可用性和性能,通常会使用多个应用服务器,然后使用负载均衡器接收用户的请求,将请求导向后端的应用服务器。目前有许多流行的软件可以起到负载均衡器的作用
内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!