专栏首页Hadoop实操0684-如何配置Nginx高可用

0684-如何配置Nginx高可用

作者:冉南阳

简介

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

Nginx安装

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

下载安装包

wget http://nginx.org/download/nginx-1.12.2.tar.gz

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

tar -zxf nginx-1.12.2.tar.gz  
cd nginx-1.12.2
./configure --with-stream
make && make install

添加到systemctl启动项

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

[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

将服务添加到开机自启动

systemctl enale nginx
systemctl start nginx
systemctl status nginx

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

启动成功

安装Keepalived

两个节点都安装

yum -y install keepalived

添加到开机自启动

配置HA

1.两个节点同时配置

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

#!/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

增加执行权限

chmod +x /etc/keepalived/nginx_check.sh

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

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

启动Keepalived服务

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服务

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

依然可以访问

本文分享自微信公众号 - Hadoop实操(gh_c4c535955d0f),作者:Fayson

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-08-07

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 公有云中的Hadoop

    信息驱动型企业一直坚持统一数据管理的共同业务和IT目标,提高洞察力和构建知识库。对于许多企业来说,传统的关系型数据仓库和数据集市是唯一的企业级数据分析的途径,而...

    Fayson
  • 0668-6.2.0-如何在CDH6.2.0上卸载CDSW1.5

    Fayson在上一篇文章中介绍了如何在CDH6.2中安装CDSW1.5,参考《0666-6.2.0-如何在CDH6.2.0上安装CDSW1.5》,本文主要介绍如...

    Fayson
  • 0544-CDSW1.5的新功能

    Cloudera于2019年1月29日发布CDSW1.5,因为恰逢过年,所以Fayson没第一时间翻译。1.5的主要更新是C6中终于可以使用CDSW了,另外HD...

    Fayson
  • 憧憬博客Nginx到Tengine的迁移

    Tengine 是由淘宝网发起的 Web 服务器项目。它在 Nginx 的基础上,针对大访问量网站的需求,添加了很多高级功能和特性。据说 Tengine 的 I...

    憧憬博客
  • Nodejs全栈之开启https协议

    接着写nodejs全栈开发的一些记录。 本系列选取的技术栈: nginx+nodejs+express+mongodb+docker 已完成的文章: 01 No...

    mixlab
  • Centos7安装Nginx实战

      最近在写一些自己的项目,用到了nginx,所以自己动手来在Centos7上安装nginx,以下是安装步骤。

    阿豪聊干货
  • Nginx学习日志(六)Linux下设置开机自启动

    最近升级了下linux服务器配置,重启之后,发现要敲一堆命令行,挺麻烦的,能开启自启动就好了

    海加尔金鹰
  • Windows nginx安装教程及简单实践

    这篇文章主要介绍了Windows nginx安装教程及简单实践的相关资料,需要的朋友可以参考下

    习惯说一说
  • [docker]Nginx安装部署

    4.在浏览器访问ip:8081端口则可以成功访问Nginx的欢迎界面 5.开始部署Nginx,先创建文件夹用来存放对应的文件

    贰叁壹小窝
  • windows安装nginx注册为服务的正确姿势 并设置开机自启 实践笔记

    cookily

扫码关注云+社区

领取腾讯云代金券