前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >0684-如何配置Nginx高可用

0684-如何配置Nginx高可用

作者头像
Fayson
发布2019-08-08 16:01:18
6480
发布2019-08-08 16:01:18
举报
文章被收录于专栏:Hadoop实操

作者:冉南阳

简介

本文通过Keepalived服务vip漂移的方式配置Nginx的高可用;当vip所在节点的Nginx服务宕掉后,会将vip漂移到另外一个节点。而在配置Nginx的配置时,分别在两个节点配置Nginx服务,然后两个Nginx服务配置相同的负载均衡等配置;在配置连接时不使用两个Nginx节点的ip,而是使用vip; 以这样的方式实现Nginx的高可用。

Nginx安装

在两个节点同时安装Nginx,此处展示一个节点

下载安装包

代码语言:javascript
复制
wget http://nginx.org/download/nginx-1.12.2.tar.gz

解压并进行编译安装,默认安装目录为/usr/local/nginx

代码语言:javascript
复制
tar -zxf nginx-1.12.2.tar.gz  
cd nginx-1.12.2
./configure --with-stream
代码语言:javascript
复制
make && make install

添加到systemctl启动项

编写脚本/usr/lib/systemd/system/nginx.service

代码语言:javascript
复制
[Unit]
Description=nginx - high performance web server
After=network.target remote-fs.target nss-lookup.target

[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s stop

[Install]
WantedBy=multi-user.target

将服务添加到开机自启动

代码语言:javascript
复制
systemctl enale nginx
代码语言:javascript
复制
systemctl start nginx
systemctl status nginx

此处修改端口为8089,默认端口为80;配置文件默认在/user/local/nginx/conf/nginx.conf

启动成功

安装Keepalived

两个节点都安装

代码语言:javascript
复制
yum -y install keepalived

添加到开机自启动

配置HA

1.两个节点同时配置

编辑脚本/etc/keepalived/nginx_check.sh,脚本内容如下(nginx _check.sh),两个节点都需要该脚本。

代码语言:javascript
复制
#!/bin/bash
A=`ps -C nginx --no-header | wc -l`
if [ $A -eq 0 ];then
/etc/init.d/nginx start
sleep 3
if [ `ps -C nginx --no-header | wc -l ` -eq 0 ];then
/etc/init.d/nginx stop
fi
fi

增加执行权限

代码语言:javascript
复制
chmod +x /etc/keepalived/nginx_check.sh

2.节点cdh234.macro.com配置Keepalived

修改配置文件/etc/keepalived/keepalived.conf,配置vip为192.168.0.245

启动Keepalived服务

代码语言:javascript
复制
systemctl start keepalived

vip已绑定成功

cdh235.macro.com节点ping 192.168.0.245

停止Keepalived服务后查看192.168.0.245已从网卡ens192解绑

3.节点cdh235.macro.com配置Keepalived

修改配置文件/etc/keepalived/keepalived.conf,配置vip为192.168.0.245

启动Keepalived服务

代码语言:javascript
复制
systemctl start keepalived

vip已绑定成功

cdh234.macro.com节点ping 192.168.0.245

验证Keepalived服务IP漂移

两个节点同时起Keepalived

只有其中一个节点cdh235.macro.com绑定了vip 192.168.0.245

停止cdh235.macro.com的服务Keepalived,cdh235.macro.com解绑vip,cdh234.macro.com绑定vip

验证Nginx的高可用

vip绑定在cdh234.macro.com节点上

使用vip:8089访问nginx的web界面成功

停止cdh234.macro.com节点的nginx,vip已没有绑定;vip 绑定到节点cdh235.macro.com

依然可以访问

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-08-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Hadoop实操 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档