Linux下搭建nginx服务centos7搭建nginx反向代理搭建nginx负载均衡搭建nginx高可用

Linux下搭建nginx服务

1.nginx介绍:

  1. Nginx 是开源、高性能、高可靠的 Web 和反向代理服务器,而且支持热部署,几乎可以做到 7 * 24小时不间断运行,即使运行几个月也不需要重新启动,还能在不间断服务的情况下对软件版本进行热更新。
  2. 性能是 Nginx 最重要的考量,其占用内存少、并发能力强、能支持高达 5w 个并发连接数,最重要的是,Nginx是免费的并可以商业化,配置使用也比较简单。
  3. 下面提供nginx的安装,nginx搭建反向代理,nginx负载均衡,nginx高可用的详细步骤配置



2.nginx 安装:

2.1 yum安装nignx:

1.特点:

使用yum安装nginx的特点是简单,方便,安装的是最新版本

2.配置nginx的yum源:
[root@server-3 ~]# vim /etc/yum.repos.d/nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=https://nginx.org/packages/centos/7/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=https://nginx.org/packages/mainline/centos/7/x86_64/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true


3.安装nginx

使用yum安装nginx,并启动,查看版本

[root@server-3 ~]# yum install -y nginx
[root@server-3 ~]# nginx 
[root@server-3 ~]# nginx -v 
nginx version: nginx/1.20.1


2.2 源码安装nginx

1.特点:

使用源码安装的特点是可自选安装所需的nginx版本

2.配置centos的yum源:

因为源码安装需要一些依赖包,故先配置yum源,配置阿里云的yum源,前提是确保虚拟机能够访问互联网

[root@server-3 ~]# curl -o /etc/yum.repos.d/centos7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
3.安装依赖包:
[root@server-3 ~]# yum install -y gcc-c++ pcre pcre-devel   zlib zlib-devel openssl openssl-devel
4.下载nginx源码包:

nginx官网下载地址: https://nginx.org/download/

任意版本的nginx都有。
使用wget工具下载:

[root@server-3 ~]# yum install -y wget

[root@server-3 ~]# wget https://nginx.org/download/nginx-1.17.8.tar.gz
--2021-10-02 15:32:32--  https://nginx.org/download/nginx-1.17.8.tar.gz
Resolving nginx.org (nginx.org)... 3.125.197.172, 52.58.199.22, 2a05:d014:edb:5704::6, ...
Connecting to nginx.org (nginx.org)|3.125.197.172|:443... connected.
ERROR: cannot verify nginx.org's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
  Issued certificate has expired.
To connect to nginx.org insecurely, use `--no-check-certificate'.


[root@server-3 ~]# wget https://nginx.org/download/nginx-1.17.8.tar.gz --no-check-certificate
--2021-10-02 15:32:44--  https://nginx.org/download/nginx-1.17.8.tar.gz
Resolving nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:edb:5704::6, ...
Connecting to nginx.org (nginx.org)|52.58.199.22|:443... connected.
WARNING: cannot verify nginx.org's certificate, issued by ‘/C=US/O=Let's Encrypt/CN=R3’:
  Issued certificate has expired.
HTTP request sent, awaiting response... 200 OK
Length: 1038627 (1014K) [application/octet-stream]
Saving to: ‘nginx-1.17.8.tar.gz’

100%[========================================================================================================>] 1,038,627    153KB/s   in 6.6s   

2021-10-02 15:32:53 (153 KB/s) - ‘nginx-1.17.8.tar.gz’ saved [1038627/1038627]
5.解压安装:
[root@server-3 ~]# tar -xzf nginx-1.17.8.tar.gz -C /usr/local/

[root@server-3 ~]# mkdir -p /var/temp/nginx

[root@server-3 ~]# cd /usr/local/nginx-1.17.8/

[root@server-3 nginx-1.17.8]# ls
auto  CHANGES  CHANGES.ru  conf  configure  contrib  html  LICENSE  man  README  src

[root@server-3 nginx-1.17.8]# ./configure --prefix=/usr/local/nginx --pid-path=/var/run/nginx/nginx.pid --lock-path=/var/lock/nginx.lock --error-log-path=/var/log/nginx/error.log --http-log-path=/var/log/nginx/access.log --with-http_gzip_static_module --http-client-body-temp-path=/var/temp/nginx/client --http-proxy-temp-path=/var/temp/nginx/proxy --http-fastcgi-temp-path=/var/temp/nginx/fastcgi --http-uwsgi-temp-path=/var/temp/nginx/uwsgi --with-http_stub_status_module --with-http_ssl_module --http-scgi-temp-path=/var/temp/nginx/scgi

上段命令直接复制代码:
./configure \
--prefix=/usr/local/nginx \
--pid-path=/var/run/nginx/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--with-http_gzip_static_module \
--http-client-body-temp-path=/var/temp/nginx/client \
--http-proxy-temp-path=/var/temp/nginx/proxy \
--http-fastcgi-temp-path=/var/temp/nginx/fastcgi \
--http-uwsgi-temp-path=/var/temp/nginx/uwsgi \
--with-http_stub_status_module \
--with-http_ssl_module \
--http-scgi-temp-path=/var/temp/nginx/scgi


进行编译安装:
[root@server-3 nginx-1.17.8]# make
[root@server-3 nginx-1.17.8]# make install
6.启动nginx
[root@server-3 nginx-1.17.8]# cd /usr/local/nginx
[root@server-3 nginx]# ls
conf  html  sbin
[root@server-3 nginx]# sbin/nginx 
[root@server-3 nginx]# ps -ef |grep nginx
root      10562      1  0 15:40 ?        00:00:00 nginx: master process sbin/nginx
nobody    10563  10562  0 15:40 ?        00:00:00 nginx: worker process
root      10566   7566  0 15:40 pts/1    00:00:00 grep --color=auto nginx

浏览器访问:虚拟机ip:80 查看是否出现nginx首页
前提是关闭虚拟机防火墙以及selinux
nginx




3.nginx配置反向代理(例1):

反向代理1:
所需实现的效果:
浏览器访问 www.123.com 将会跳转到 tomcat 的首页



1.准备工作:

安装 tomcat:

[root@server-3 ~]# wget https://dlcdn.apache.org/tomcat/tomcat-9/v9.0.53/bin/apache-tomcat-9.0.53.tar.gz

[root@server-3 ~]# tar -xzvf apache-tomcat-9.0.53.tar.gz -C /usr/local/

因为启动tomcat需要基于java环境,此处启动tomcat之前先配置java环境

java包的下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

[root@server-3 ~]# tar -xzvf jdk-8u181-linux-x64.tar.gz -C /usr/local/

[root@server-3 ~]# vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_291
export PATH=$PATH:$JAVA_HOME/bin

[root@server-3 ~]# source /etc/profile
[root@server-3 ~]# java -version
openjdk version "1.8.0_302"
OpenJDK Runtime Environment (build 1.8.0_302-b08)
OpenJDK 64-Bit Server VM (build 25.302-b08, mixed mode)
[root@server-3 ~]# jps
10840 Jps

启动tomcat

[root@server-3 ~]# cd /usr/local/apache-tomcat-9.0.53/
[root@server-3 apache-tomcat-9.0.53]# bin/startup.sh start
Using CATALINA_BASE:   /usr/local/apache-tomcat-9.0.53
Using CATALINA_HOME:   /usr/local/apache-tomcat-9.0.53
Using CATALINA_TMPDIR: /usr/local/apache-tomcat-9.0.53/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_291
Using CLASSPATH:       /usr/local/apache-tomcat-9.0.53/bin/bootstrap.jar:/usr/local/apache-tomcat-9.0.53/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.

[root@server-3 apache-tomcat-9.0.53]# jps
10947 Jps
10874 Bootstrap

验证:
tomcat

2. 配置nginx反向代理

修改nginx配置文件

[root@server-3 ~]# cd /usr/local/nginx/conf/

在sever模块下配置
[root@server-3 conf]# vim nginx.conf
    server {
        listen       80;
        server_name  192.168.66.191;	#将此处的localhost改成本机ip,浏览器访问域名时需解析到此ip

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://127.0.0.1:8080;	#因为tomcat服务也搭建在此虚拟机中,tomcat是8080端口,此配置是反向代理是否成功的关键
            root   html;
            index  index.html index.htm;
        }

重启nginx,使其配置生效:
[root@server-3 conf]# cd ../sbin
[root@server-3 sbin]# ./nginx -s reload

3.win中的hosts解析

在windows中添加hosts解析:
在这里插入图片描述

添加一行
虚拟机ip www.123.com
例如:192.168.66.191 www.123.com

在这里插入图片描述



4.测试:

浏览器访问:www.123.com
查看是否会跳转到 tomcat 首页
tomcat
由此 一个简单的 nginx 反向代理配置 success!!




4.nginx配置反向代理(例2):

使用nginx反向代理,根据访问的路径跳转到不同的端口服务中, nginx监听端口为9001
此处所需要实现的效果为:

访问 http://192.168.11.131:9001/edu/ 直接跳转到127.0.0.1:8080
访问 http://192.168.11.131:9001/stu/ 直接跳转到127.0.0.1:8081

使用nginx即可简单方便的实现这一效果,来达到,访问同一ip或同一域名时,后接其他参数时访问不同的页面。

1.准备工作:

准备两台tomcat ,tomcat1 和 tomcat2
因上述实验已有一个 tomcat 是 8080端口,再安装一个tomcat2 设置为 8081 端口;

先关闭上一实验启动的tomcat
[root@server-3 ~]# ps -ef |grep apache
root       7221      1  1 15:35 pts/0    00:00:03 /usr/local/jdk1.8.0_291/bin/java -Djava.util.logging.config.file=/usr/local/tomcat1/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat1/bin/bootstrap.jar:/usr/local/tomcat1/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat1 -Dcatalina.home=/usr/local/tomcat1 -Djava.io.tmpdir=/usr/local/tomcat1/temp org.apache.catalina.startup.Bootstrap start
root      10869   1218  0 15:39 pts/0    00:00:00 grep --color=auto apache

[root@server-3 ~]# kill -9 7221


启动第二个tomcat
[root@server-3 ~]# cd /usr/local/
[root@server-3 local]# mkdir /usr/local/tomcat1 /usr/local/tomcat2

[root@server-3 local]# mv apache-tomcat-9.0.53/ tomcat1/
[root@server-3 local]# tar -xvzf /root/apache-tomcat-9.0.53.tar.gz -C /usr/local/tomcat2



修改tomcat2的端口:
[root@server-3 local]# cd tomcat2/apache-tomcat-9.0.53/
[root@server-3 tomcat2]# vim conf/server.xml 
<Server port="8015" shutdown="SHUTDOWN">

    <Connector port="8081" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" 

2. 验证两个tomcat是否启动

启动tomcat1 和 tomcat2

[root@server-3 ~]# cd /usr/local/tomcat1/ 
[root@server-3 tomcat1]# bin/startup.sh start
Using CATALINA_BASE:   /usr/local/tomcat1
Using CATALINA_HOME:   /usr/local/tomcat1
Using CATALINA_TMPDIR: /usr/local/tomcat1/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_291
Using CLASSPATH:       /usr/local/tomcat1/bin/bootstrap.jar:/usr/local/tomcat1/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.


[root@server-3 tomcat1]# cd ../tomcat2/apache-tomcat-9.0.53/
[root@server-3 tomcat2]# bin/startup.sh start
Using CATALINA_BASE:   /usr/local/tomcat2
Using CATALINA_HOME:   /usr/local/tomcat2
Using CATALINA_TMPDIR: /usr/local/tomcat2/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_291
Using CLASSPATH:       /usr/local/tomcat2/bin/bootstrap.jar:/usr/local/tomcat2/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.


浏览器访问测试 : 192.168.66.191:8080

tomcat1

浏览器访问测试 : 192.168.66.191:8081

tomcat2

两个tomcat启动成功后,可进入tomcat中创建目录和编写文件
index.html文件中编写端口号,便于识别

[root@server-3 ~]# cd /usr/local/tomcat1/webapps/
[root@server-3 webapps]# mkdir edu
[root@server-3 webapps]# echo "<h1>8080</h1>" > edu/index.html

[root@server-3 webapps]# cd /usr/local/tomcat2/apache-tomcat-9.0.53/webapps/
[root@server-3 webapps]# mkdir stu
[root@server-3 webapps]# echo "<h1>8081</h1>" > stu/index.html 


3.配置nginx配置文件

nginx反向代理的配置如下:

[root@server-3 ~]# cd /usr/local/nginx/conf/
[root@server-3 conf]# vim nginx.conf

添加一个server模块:
    server {
        listen       9001;
        server_name  192.168.66.191;

        location ~/edu/ {
            proxy_pass http://127.0.0.1:8080;
        }

        location ~/stu/ {
            proxy_pass http://127.0.0.1:8081;
        }
    }

启动nginx

[root@server-3 conf]# cd ../sbin/
[root@server-3 sbin]# ls
nginx
[root@server-3 sbin]# ./nginx 


4.访问测试:

浏览器访问:192.168.66.191:9001/edu/
8080



浏览器访问:192.168.66.191:9001/stu/

在这里插入图片描述

即实现了一个域名/ip 一个端口访问不同的页面!




5.nginx 配置负载均衡

5.1负载均衡介绍+实现效果:

使用nignx配置负载均衡是nginx服务中很常用的一个场景,原先请求都集中到单个服务器上的情况改为分发到多个服务器上。随着服务器的数量增加,nginx会将各种请求分发到各个服务器中,这种情况就是我们所说的负载均衡。

在这里插入图片描述
如上图所描述的,浏览器从客户端访问服务器,通过nginx可以将客户端的请求平均分发到其他服务器,使这些服务器所接收的请求平均一些。

nginx负载均衡实现的效果如下:
浏览器访问:192.168.66.191/edu/index.html 时,
他的请求将会平均分发到 tomcat1(8080)和 tomcat2 (8081)
也就是,每刷新一次,网页,都会在8080和8081之间转换。



5.2 准备工作:

在 tomcat1 和 tomcat2 中都创建 edu 目录,里面写8080和8081 便于识别
因上个反向代理实验中,tomcat1 已有此目录和文件,故仅需在 tomcat2 中创建

先停掉上一实验的tomcat和nginx

[root@server-3 ~]# ps -ef |grep nginx
root      11938      1  0 15:59 ?        00:00:00 nginx: master process ./nginx
nobody    11939  11938  0 15:59 ?        00:00:00 nginx: worker process
root      13041   1218  0 16:22 pts/0    00:00:00 grep --color=auto nginx
[root@server-3 ~]# kill -9 11938
[root@server-3 ~]# kill -9 11939
[root@server-3 ~]# 
[root@server-3 ~]# ps -ef |grep apache
root      11191      1  0 15:45 pts/0    00:00:06 /usr/local/jdk1.8.0_291/bin/java -Djava.util.logging.config.file=/usr/local/tomcat1/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat1/bin/bootstrap.jar:/usr/local/tomcat1/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat1 -Dcatalina.home=/usr/local/tomcat1 -Djava.io.tmpdir=/usr/local/tomcat1/temp org.apache.catalina.startup.Bootstrap start start
root      11224      1  0 15:45 pts/0    00:00:06 /usr/local/jdk1.8.0_291/bin/java -Djava.util.logging.config.file=/usr/local/tomcat2/apache-tomcat-9.0.53/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager -Djdk.tls.ephemeralDHKeySize=2048 -Djava.protocol.handler.pkgs=org.apache.catalina.webresources -Dorg.apache.catalina.security.SecurityListener.UMASK=0027 -Dignore.endorsed.dirs= -classpath /usr/local/tomcat2/apache-tomcat-9.0.53/bin/bootstrap.jar:/usr/local/tomcat2/apache-tomcat-9.0.53/bin/tomcat-juli.jar -Dcatalina.base=/usr/local/tomcat2/apache-tomcat-9.0.53 -Dcatalina.home=/usr/local/tomcat2/apache-tomcat-9.0.53 -Djava.io.tmpdir=/usr/local/tomcat2/apache-tomcat-9.0.53/temp org.apache.catalina.startup.Bootstrap start start
root      13058   1218  0 16:22 pts/0    00:00:00 grep --color=auto apache
[root@server-3 ~]# kill -9 11191
[root@server-3 ~]# kill -9 11224

tomcat2创建edu目录和文件
[root@server-3 ~]# cd /usr/local/tomcat2/apache-tomcat-9.0.53/webapps/
[root@server-3 webapps]# mkdir edu
[root@server-3 webapps]# echo "<h1>8081</h1>" >edu/index.html

下面配置nginx中的负载均衡

[root@server-3 ~]# cd /usr/local/nginx/conf/
[root@server-3 conf]# vim nginx.conf
http模块下新增这一配置
    upstream mytomcat {
        server 192.168.66.191:8080 weight=1;
        server 192.168.66.191:8081 weight=1;
    }

    server {
        listen       80;
        server_name  192.168.66.191;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            proxy_pass http://mytomcat;
            root   html;
            index  index.html index.htm;
        }

新增mytomcat,以及新增location里的配置
在这里插入图片描述



5.3 启动nginx 和tomcat1 tomcat2

[root@server-3 conf]# cd ../sbin/
[root@server-3 sbin]# ./nginx 


[root@server-3 sbin]# cd /usr/local/tomcat1/bin/
[root@server-3 bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat1
Using CATALINA_HOME:   /usr/local/tomcat1
Using CATALINA_TMPDIR: /usr/local/tomcat1/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_291
Using CLASSPATH:       /usr/local/tomcat1/bin/bootstrap.jar:/usr/local/tomcat1/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@server-3 bin]# 


[root@server-3 bin]# cd /usr/local/tomcat2/apache-tomcat-9.0.53/bin/
[root@server-3 bin]# ./startup.sh 
Using CATALINA_BASE:   /usr/local/tomcat2/apache-tomcat-9.0.53
Using CATALINA_HOME:   /usr/local/tomcat2/apache-tomcat-9.0.53
Using CATALINA_TMPDIR: /usr/local/tomcat2/apache-tomcat-9.0.53/temp
Using JRE_HOME:        /usr/local/jdk1.8.0_291
Using CLASSPATH:       /usr/local/tomcat2/apache-tomcat-9.0.53/bin/bootstrap.jar:/usr/local/tomcat2/apache-tomcat-9.0.53/bin/tomcat-juli.jar
Using CATALINA_OPTS:   
Tomcat started.
[root@server-3 bin]# 


5.4验证测试:

浏览器访问: 192.168.66.191:80/edu/index.html

在这里插入图片描述
然后刷新
在这里插入图片描述
将浏览器对tomcat的请求,平均分发到了8080 和8081 这两个服务上,
即是实现了nginx的负载均衡!




6. nginx 配置高可用

6.1 高可用:

日常管理中,服务器出现宕机,可有其余多台服务器进行使用。若nginx出现宕机,那些请求将无法分发到服务器中,也就会导致其无法正常使用,因此,为了防止nginx出现宕机的情况,故对其配置nginx高可用。
在这里插入图片描述

6.2 配置nginx高可用

配置nginx高可用需要两台nginx,安装nginx的步骤参考上述的 2.2 章节,采用源码安装,此处不再详写nginx安装。
两台nginx安装好以后,
其ip为:
192.168.66.191
192.168.66.192
将191作为主节点称为master,192作为备节点backup

配置nginx高可用还需要安装keepalived

关闭上一实验所启动的服务
使用 ps -ef |grep apache/nginx  过滤查看进程,并使用 kill -9 关掉所有服务。
详细操作参考5.2

两个节点安装keepalived
[root@server-3 ~]# yum install -y keepalived

[root@server-4 ~]#  yum install -y keepalived

修改 keepalived 配置文件:
[root@server-3 ~]# vim /etc/keepalived/keepalived.conf 
global_defs {
     notification_email {
         acassen@firewall.loc
         failover@firewal1.loc
         sysadmin@firewall.loc
     }
     notification_email_from Alexandre.Cassen@firewall.loc
     smtp server 192.168.66.191         #主节点ip
     smtp connect_timeout 30
     router_id LvS_DEVEL
}

vrrp_script chk_http_port {
     script  "/usr/local/src/check.sh"
     interval 2         #(检测脚本执行的间隔)
     weight 2
}
vrrp_instance VI_1 {
     state MASTER               #备份服务器上将MASTER改为BACKUP
     interface ens32            #网卡
     virtual_router_id 51       #主、备机的virtual router id必须相同priority 90#主、备机取不同的优先级,主机值较大,备份机值较小
     advert_int 100
     authentication {
        auth_type PASS
        auth pass 1111
     }
     virtual_ipaddress {
        192.168.66.50   // VRRP H虚拟地址
     }
}

将此配置文件从主节点191(master)复制到从节点192(backup)节点
[root@server-3 ~]# scp /etc/keepalived/keepalived.conf 192.168.66.192:/etc/keepalived/keepalived.conf 


在backup节点修改配置文件:
[root@server-4 ~]# vim /etc/keepalived/keepalived.conf 

     state BACKUP               #备份服务器上将MASTER改为BACKUP
     advert_int 90

keepalived
两台服务器编写检测脚本:

[root@server-3 ~]# vim /usr/local/src/check.sh 
#!bin/bash
A=`ps -C nginx -no-header |wc -l`
if [ $A -eq 0 ]; then
    /usr/local/nginx/sbin/nginx
    sleep 2
    if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
        killall keepalived
    fi
fi

使用scp从主节点cp到备节点
[root@server-3 ~]# scp /usr/local/src/check.sh 192.168.66.192:/usr/local/src/

6.3 启动服务:

启动两台服务器的nginx 和 keepalived

[root@server-3 ~]# cd /usr/local/nginx/sbin/
[root@server-3 sbin]# ./nginx 
[root@server-3 sbin]# systemctl start keepalived

[root@server-4 ~]# systemctl start keepalived
[root@server-4 ~]# cd /usr/local/nginx/sbin/
[root@server-4 sbin]# ./nginx 

6.4 访问测试:

浏览器访问 虚拟ip 地址,看清楚,是虚拟ip地址,在 keepalived 的配置文件中末尾处,
有一个地方是配置了虚拟ip地址的,
浏览器访问在配置文件中写的虚拟IP
我写的是: 192.168.66.50
故在浏览器访问 192.168.66.50

在这里插入图片描述



再次在主节点查看ip地址信息,
会发现keepalived中所写的虚拟ip 已经添加到网卡的详细信息中了

[root@server-3 nginx]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens32: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:0c:29:9f:0b:08 brd ff:ff:ff:ff:ff:ff
    inet 192.168.66.191/24 brd 192.168.66.255 scope global noprefixroute ens32
       valid_lft forever preferred_lft forever
    inet 192.168.66.50/32 scope global ens32
       valid_lft forever preferred_lft forever
    inet6 fe80::b264:f900:7e23:3f19/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever
    inet6 fe80::c062:e877:3c:5922/64 scope link tentative noprefixroute dadfailed 
       valid_lft forever preferred_lft forever

在这里插入图片描述




我们将主节点(MASTER)的nginx和keepalived关闭,再次用浏览器访问虚拟ip

[root@server-3 sbin]# systemctl stop keepalived  
[root@server-3 sbin]# ./nginx -s stop
[root@server-3 sbin]# ps -ef |grep nginx
root       4181   1217  0 19:50 pts/0    00:00:00 grep --color=auto nginx
[root@server-3 sbin]# ps -ef |grep keepalived
root       4203   1217  0 19:56 pts/0    00:00:00 grep --color=auto keepalived

停掉以后会发现,不断刷新此页面,nginx依然存在,查看backup节点的ip地址信息, 会发现ens32网卡中也有虚拟ip存在

在这里插入图片描述

在这里插入图片描述
由此,nginx配置高可用集群操作完成!success!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不跟风的细狗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值