一、Nginx负载均衡
Nginx负载均衡配置很简单,可以实现7层的负载,对一些轻量级访问量的站点还是很实用的。
1、架构
系统版本: CentOS 6.6 x86_64
nginx版本: 1.10.2 #当前最新版本
服务器:
负载均衡server 10.0.18.146 端口 80
后端web server 10.0.18.144 端口 80 10.0.18.145 端口80
2、配置过程
在三台服务器上配置nginx的yum源
#cat /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=0
enabled=1
然后使用yum安装nginx
#yum install nginx -y
在三台服务器上配置打开文件数
#tail -5 /etc/security/limits.conf
# End of file
* soft nofile 65535
* hard nofile 65535
* soft nproc 10240
* hard nproc 10240
配置后端两台server:10.0.18.144,如下:
#cat /etc/nginx/nginx.conf #修改如下两项,其他不变
events {
use epoll; #使用epoll
worker_connections 10240; #增加连接数
}
#cat /etc/nginx/conf.d/default.conf #修改server_name 其他不变
server {
listen 80;
server_name nginx1.test.com;
………………
}
修改默认页面如下:
#cat /usr/share/nginx/html/index.html #增加18.144,其他不变
…………
<h1>Welcome to nginx 18.144!</h1>
…………
启动nginx
#service nginx start
在物理机添加域名解析如下:
添加在hosts中 --->C:\Windows\System32\drivers\etc\hosts
10.0.18.144 nginx1.test.com
10.0.18.145 nginx2.test.com
10.0.18.146 balance.test.com
在浏览器访问,如下:
配置后端两台server:10.0.18.145,方法和18.144一样,不再赘述,在浏览器访问如下:
3、配置负载均衡server
先查看配置文件:
#cat nginx.conf
events {
use epoll;
worker_connections 10240;
}
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;
upstream backend { #添加的后端server,权重为1
server 10.0.18.144 weight=1;
server 10.0.18.145 weight=1;
}
server {
listen 80;
server_name balance.test.com;
location / {
proxy_set_header Host $host; #设置主机头和客户端真实地址
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering on; #开启缓存
proxy_pass #方向代理地址
}
}
}
然后启动nginx
#service nginx start
在浏览器访问进行测试:
不断刷新浏览器,是可以看到18.144和18.145轮流相应的,如下:
这样就实现了nginx的负载均衡机制,很简单!