# 负载均衡
# 概念
Linux的负载均衡常用的有三种技术:中国人搞出来的大神级产品 LVS Linux Virtual Server,俄罗斯的Nginx,来发法国的HAProxy。
日常开发中应该就只用到一台服务器,用户发送请求给服务器,服务器返回响应内容,这种情况其实对大多数中小型网站是没问题的,但是对于用户基数大,用户访问量大的应用,所有的请求都交给A来处理肯定是很吃力的,所以便需要做到负载均衡。 我们可以多搭建几台服务器,服务器A只对用户的请求进行分发,请求的处理交给其他服务器来做,当用户的请求到达A时,服务器A根据定义的策略选择符合条件的服务器去处理这个请求,这样服务器A只做分发,压力自然就小了很多。
实现负载均衡最少也要三台服务器。
其中一台作为负载均衡服务器。
打开负载均衡服务器A的配置文件
vim /usr/local/nginx/conf/nginx.conf
http {
include 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 logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#设定负载均衡的服务器列表
upstream taishan {
#weigth参数表示权值,权值越高被分配到的几率越大
#下面表示137有3分之2几率,138有3分之1几率
server 192.168.64.137 weight=2;
server 192.168.64.138 weight=1;
}
#gzip on;
server {
listen 80;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
location / {
proxy_pass http://taishan;#请求转向taishan定义的服务器列表
proxy_set_header Host $host;#将请求头转发给后端服务器
proxy_set_header X-Forward-For $remote_addr;#后端的Web服务器可以通过X-Forwarded-For获取用户真实IP
#其他相关配置入下,可以根据需要添加配置
#client_max_body_size 10m;#允许客户端请求的最大单文件字节数
#client_body_buffer_size 128k;#缓冲区代理缓冲用户端请求的最大字节数
#proxy_connect_timeout 90;#nginx跟后端服务器连接超时时间(代理连接超时)
#proxy_send_timeout 90;#后端服务器数据回传时间(代理发送超时)
#proxy_read_timeout 90;#连接成功后,后端服务器响应时间(代理接收超时)
#proxy_buffer_size 4k;#设置代理服务器(nginx)保存用户头信息的缓冲区大小
#proxy_buffers 4 32k;#proxy_buffers缓冲区,网页平均在32k以下的话,这样设置
#proxy_busy_buffers_size 64k;#高负荷下缓冲大小(proxy_buffers*2)
#proxy_temp_file_write_size 64k;#设定缓存文件夹大小,大于这个值,将从upstream服务器传
# root html;
# index index.php index.html index.htm;
参考 : https://blog.csdn.net/lin_made/article/details/81327287 (opens new window)
← 概要 Linux部署vue项目 →
关于评论
评论前请填好“昵称”、“邮箱”这两栏内容,否则不会收到回复,谢谢!