YJ的博客
个人生活、工作的随笔

本站部分文章、资源来自互联网,版权归原作者及网站所有,如侵犯了您的权利,请及时致信告知我

粤ICP备15050546号

网站地图

CentOS7下部署Ngnix反向代理和利用Nginx做负载均衡

web服务器:192.168.3.49
Nginx服务器:192.168.3.51
测试页面:
web1:192.168.3.49:8081
web2:192.168.3.49:8082
web3:192.168.3.49:8083
web4:192.168.3.49:8084
Nginx监听端口:80、90

1、安装Nginx
[php]
yum install epel-release -y //安装epel软件源
yum install nginx -y //yum安装nginx软件
systemctl enable nginx //设置nginx开机启动
systemctl start nginx //启动nginx
[/php]

2、创建配置文件存放目录
[php]
mkdir /etc/nginx/conf.d/web
mkdir /etc/nginx/default.d/web
mkdir /etc/nginx/conf.d/web1
mkdir /etc/nginx/default.d/web1
[/php]

3、修改Nginx配置文件
[php]
vim etc/nginx/nginx.conf
#在http{}内增加或修改server{}内容
#include /etc/nginx/conf.d/*.conf; //屏蔽此句
include /etc/nginx/conf.d/web/*.conf; //增加此句
include /etc/nginx/conf.d/web1/*.conf; //增加此句
server {
listen 80; //增加此句
#listen 80 default_server; //屏蔽此句
#listen [::]:80 default_server; //屏蔽此句
server_name 192.168.3.51; //绑定域名
charset utf8;
access_log /var/log/nginx/web.access.log main;
#root /usr/share/nginx/html; //屏蔽此句

#Load configuration files for the default server block. //屏蔽此句
#include /etc/nginx/default.d/*.conf; //屏蔽此句
include /etc/nginx/default.d/web/*.conf; //增加此句

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
server {
listen 90;
server_name 192.168.3.51; //绑定域名

charset utf8;
access_log /var/log/nginx/web1.access.log main;
include /etc/nginx/default.d/web1/*.conf;

error_page 404 /404.html;
location = /40x.html {
}

error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}

[/php]

4、建配置文件
[php]
vim /etc/nginx/conf.d/web/web.conf
upstream web-test {
server 192.168.3.49:8081 ;
server 192.168.3.49:8082 ;
}
#保存退出
<br>
vim /etc/nginx/default.d/web/web.conf
location / {
proxy_pass http://web-test;
}
#保存退出;如网站项目访问有更项目名则“location /项目名”
<br>
vim /etc/nginx/conf.d/web1/web.conf
upstream web1-test {
server 192.168.3.49:8083 ;
server 192.168.3.49:8084 ;
}
#保存退出
<br>
vim /etc/nginx/default.d/web1/web.conf
location / {
proxy_pass http://web1-test;
}
#保存退出
[php]
<br>
5、权重调整
[php]
5.1 轮询方式(默认)
说明:每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
5.2 weight
说明:指定轮询几率,weight和访问比率成正比(数字越大分配的概率越高),用于后端服务器性能不均的情况。
在/etc/nginx/conf.d/web.conf文件中新增如下内容
upstream backend {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}
5.3 ip_hash
说明:每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
在/etc/nginx/conf.d/web.conf文件中新增如下内容
upstream backend {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}
[/php]

6、重启nginx服务
[php]
systemctl restart nginx.service
[/php]

7、开放防火墙端口
[php]
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 90 -j ACCEPT
systemctl restart iptables.service #重启防火墙
[/php]

2016-03-08
328 views
暂无评论

发表评论