什么是nginx高可用
- 为什么需要高可用
正常情况下使用nginx,浏览器访问网址到nginx服务器,nginx再发送到目标服务器,获取资源返回。
但是会有一个问题:当nginx进程发生宕机,此时目标服务器存在,但是浏览器访问网址获取不到资源。 - 什么是高可用
当nginx发生宕机,客户端访问nginx,仍然可以访问到目标服务器获取资源。 - 实现步骤
在多台服务器中运行nginx,设置主nginx和从nginx,一开始通过主nginx访问目标服务器获取资源。当主nginx发生宕机,客户端访问网址,会通过从服务器来访问目标服务器获取资源。
实现主nginx和从nginx过程需要通过keepalive软件实现。
此时,在多个服务器中运行nginx有多个ip地址,客户端访问的网址不变实现从主nginx切换到从nginx,所以主nginx和从nginx需要向外提供一个共同的虚拟ip。
下面的图片只是假设设置两台运行nginx的服务器,实际可以配置多台:
准备工作
- 需要多台服务器
- 在所有服务器上安装nginx nginx安装。
- 在所有服务器上安装keepalive,使用yum安装 yum install keepalived -y或者下载压缩包解压安装。安装完keepalived之后,会生成配置文件/etc/keepalived/keepalived.conf。
完成高可用配置(主从配置)
主要是修改/etc/keepalived/keepalived.conf文件内容。
keepalived监控nginx进程