nginx负载均衡,四层协议stream
准备环境
准备三台虚拟机,三台虚拟机分别都按装了mysql,若不知道mysql的具体操作,可以往上翻一下小编的mysql简单部署.安装好之后,记得启动mysql
具体的操作
1 在数据库内分别创建库,进入库之后创建表,插入信息.两台web-server做相同的操作,创建同一个表,库
#记得授权
mysql> grant on all *.* to root@'%' identified by 'IJIN';
#创建库,表,插入信息
mysql> show databases;
mysql> create database db1;
mysql> use db1;
mysql> create table tb2;
mysql> show tables;
mysql> insert into tb2 values(4,'u');
2 代理服务器的操作
#修改配置文件
stream {
upstream myweb {
hash $remote_addr consistent;
server 192.168.122.74:3306; #改好自己的ip,端口好默认3306,若修改,写成自己修改的端口
server 192.168.122.194:3306;
}
server {
listen 82; #负载均衡的默认端口为82
proxy_connect_timeout 10s; #连接超时的时间
proxy_timeout 30s;
proxy_pass myweb;
}
#在http的上方加上stream,stream是四层的模块,用来查看数据等
#在这个位置添加代理服务器的配置条件
http {
upstream testup {
server 192.168.122.194;
server 192.168.122.74;
}
location / {
proxy_pass http://testup; #负载均衡前方的配置
proxy_redirect default;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
}
3 配置完成之后,重启配置文件,启动nginx
nginx -s reload #重新加载配置文件
/usr/local/nginx/sbin/nginx #启动nginx
#若出现错误
#停止nginx,在重新启动
ngins -s stop
验收成果
mysql -u root -p'QianFeng@123' -h 192.168.122.194 -e "show databases;"
# -h 指定代理服务器的ip,访问web-server的数据库
# -e 指定要查看的内容
# -P 指定查看的端口
#当数据库出来时,证明访问成功,创建完毕