Keepalived + Nginx反向代理 - 基础配置.note

noteId: 708062DB7BF4491393E59736C0A13AE6 · 原始路径:/ALL/Linux - A模块/服务配置/Keepalived 高可用服务/Keepalived + Nginx反向代理 - 基础配置.note · 图片:18 · 附件待处理:0

 
·环境准备:
 
一、配置 Nginx 反向代理
 
1、生成证书:
 
(1)编辑证书属性:
vim /etc/ssl/openssl.cnf
:set number
:202
 
(2)创建证书颁发机构,并生成证书:
/usr/lib/ssl/misc/CA.pl -newca      //生成CA根证书颁发机构
/usr/lib/ssl/misc/CA.pl -newreq-nodes    //生成一个证书申请
/usr/lib/ssl/misc/CA.pl -sign    //签发证书
此时会在当前目录看到证书及其私钥:(newreq.pem是证书申请,可以直接删除)
 
 
2、配置 后端服务器 的 https页面:
 
(1)将 证书及私钥 传给后端服务器:
scp ~/new* root@192.168.10.80:/etc/ssl
scp ~/new* root@192.168.10.81:/etc/ssl
scp ~/new* root@192.168.10.82:/etc/ssl
scp ~/new* root@192.168.10.83:/etc/ssl
 
(2)【Nginx】编辑 https 页面:
vim /etc/nginx/sites-enalbed/default
 
重启服务
 
(3)【Apache】编辑 https 页面:
a2enmod ssl
vim /etc/apache2/sites-enalbed/000-default.conf
 
重启服务
 
 
3、【https】配置 Nginx反向代理 - 高可用负载均衡:
 
 
 
4、配置 Nginx 反向代理服务器:
 
(1)编辑 Nginx:
apt install -y nginx
vim /etc/nginx/sites-enabled/default
 
重启服务
 
(2)将 其复制到 另一台 Nginx反向代理服务器上:
scp /etc/nginx/sites-enabled/default root@192.168.10.253:/etc/nginx/sites-enabled
 
 
 
5、在 客户端上进行访问:
 
(1)在 客户端 上访问 http 页面:
 
(2)在 客户端 上访问 https 页面:
 
 
二、配置 Keepalived 检测 Nginx反向代理服务器:
 
1、配置 Keepalived:
 
(1)配置 Keepalived Master 服务器:
apt install -y Keepalived
cp /etc/keepalived/keepalived.conf.sample /etc/keepalived/keepalived.conf
vim /etc/keepalived/keepalived.conf
 
重启服务
 
 
(3)将 配置文件 scp 传递给 另一台 Keepalived Backup:
scp /etc/keepalived/keepalived.conf root@192.168.10.253:/etc/keepalived
重启服务
 
 
2、进行验证:
 
(1)查看 Keepalived Master 的IP:
此时应有 192.168.20.254 这个虚拟IP地址
 
 
·在客户端上进行访问:
 
 
(2)停止 Keepalived Master 检测的 Nginx 服务,再查看IP地址:
systemctl stop nginx
# 等待5秒
ip a
此时虚拟IP地址应该消失了:
 
 
 
(3)查看 Keepalived Backup 的虚拟IP地址
 
·在客户端上进行访问:
 
 
 
三、配置 动静分离,将动态的请求发送给指定的服务器:
 
1、在 客户端上 配置 php动态页面:
 
(1)Nginx:
apt install php8.2-fpm -y
echo "<?php phpinfo(); ?>" > /var/www/html/index.php
vim /etc/nginx/nginx.conf
 
 
(2)Apache2:
apt install php8.2-fpm  libapache2-mod-php8.2 -y    //libapache2-mod-php8.2 用于兼容php与apache2
或:
apt install php libapache2-mod-php
echo "<?php phpinfo(); ?>" > /var/www/html/index.php
systemctl restart apache2
 
 
 
2、配置 Nginx:
 
(1)修改 Nginx 反向代理配置:
vim /etc/nginx/sites-enalbed/default
# 增加以下配置(旧配置无需修改)
 
 
 
(2)将 配置文件 scp 传递给 Keepalived Backup:
scp /etc/nginx/sites-enalbed/default root@192.168.10.253:/etc/nginx/sites-enalbed
 
 
3、在 客户端上尝试进行访问:
 
(1)访问正常的静态页面:
 
 
 
(2)加上 .php 后缀,访问动态页面: