Keepaliev+Nginx+http
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,Ngxin作为一个强大的开源软件是可以先做为高可用集群服务的,这篇博文就介绍一下nginx+Keepalived是如何实现高性能+高可用集群服务的环境介绍:硬件: 4台虚拟服务器系统:CentOS 7
千家信息网最后更新 2025年01月23日Keepaliev+Nginx+http
Ngxin作为一个强大的开源软件是可以先做为高可用集群服务的,这篇博文就介绍一下nginx+Keepalived是如何实现高性能+高可用集群服务的
环境介绍:
硬件: 4台虚拟服务器
系统:CentOS 7.3
软件:Keepalived、Apache、Nginx
IP及主机名
Master
主机名:shiyan1
IP地址:172.18.17.31
Backup
主机名:shiyan2
IP地址:172.18.17.32
Httpd1
主机名:shiyan3
IP地址:172.18.17.33
Httpd2
主机名:shiyan4
IP地址:172.18.17.34
四台服务器初始化配置(四台服务器相同的配置)
关闭防火墙
[root@shiyan~ ]# systemctl disable firewalld [root@shiyan~ ]# systemctl stop firewalld [root@shiyan~ ]# iptables -F
关闭Selinux
[root@shiyan~ ]# vim /etc/selinux/config SELINUX=disabled #保存重启系统生效
安装软件
Master/Backup
[root@shiyan~ ]# yum install keepalived httpd nginx #(Nginx需要单独配置EPEL源)
Httpd1/Httpd2
[root@shiyan~ ]# yum install httpd
Httpd1配置
[root@shiyan3 ~ ]# mkdir -p /app/apache/html/ [root@shiyan3 ~ ]# chown -R apache.apache /app/apache/html/ [root@shiyan3 ~ ]# echo "Apache Server 1" > /app/apache/html/index.html [root@shiyan3 ~ ]# vim /etc/httpd/conf/httpd.conf #此处是更改httpd.conf中的内容,并非添加内容 DocumentRoot "/app/apache/html" #更改为自定义的路径 # # Relax access to content within /var/www. ##更改为自定义的路径 AllowOverride None # Allow open access: Require all granted # Further relax access to the default document root:#更改为自定义的路径. [root@shiyan3 ~ ]# systemctl restart httpd #测试网站是否正常运行 [root@yum ~ ]# curl http://172.18.17.33 Apache Server 1 #测试成功
Httpd2配置
[root@shiyan4 ~ ]# mkdir -p /app/apache/html/ [root@shiyan4 ~ ]# chown -R apache.apache /app/apache/html/ [root@shiyan4 ~ ]# echo "Apache Server 2" > /app/apache/html/index.html [root@shiyan4 ~ ]# vim /etc/httpd/conf/httpd.conf #此处是更改httpd.conf中的内容,并非添加内容 DocumentRoot "/app/apache/html" #更改为自定义的路径 # # Relax access to content within /var/www. ##更改为自定义的路径 AllowOverride None # Allow open access: Require all granted # Further relax access to the default document root:#更改为自定义的路径. [root@shiyan4 ~ ]# systemctl restart httpd #测试网站是否正常运行 [root@yum ~ ]# curl http://172.18.17.34 Apache Server 2 #测试成功
Master配置
配置Sorry-Server [root@shiyan1 ~ ]# mkdir -p /app/apache/html/ [root@shiyan1 ~ ]# chown -R apache.apache /app/apache/html/ [root@shiyan1 ~ ]# echo "Sorry Server 1
" > /app/apache/html/index.html [root@shiyan1 ~ ]# vim /etc/httpd/conf/httpd.conf #此处是更改httpd.conf中的内容,并非添加内容 Listen 8080 DocumentRoot "/app/apache/html" #更改为自定义的路径 # # Relax access to content within /var/www. ##更改为自定义的路径 AllowOverride None # Allow open access: Require all granted # Further relax access to the default document root:#更改为自定义的路径. [root@shiyan1 ~ ]# systemctl restart http #测试网站是否正常运行 [root@yum ~ ]# curl http://172.18.17.31:8080 Sorry Server 1
#测试成功 配置Keepalived [root@shiyan1 ~ ]# cp /etc/keepalived/keepalived.conf{,.bak} #备份文件 [root@shiyan1 ~ ]# vim /etc/keepalived/keepalived.conf global_defs { notification_email { root #定义收邮件的用户 } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 172.18.17.31 #定义邮件地址 smtp_connect_timeout 30 router_id node1 #定义节点名称 } vrrp_instance VI_1 { state MASTER #定义节点为主节点模式 interface ens33 #定义使用ens33为VIP网卡 virtual_router_id 51 #定义节点编号 priority 150 #定义优先级 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.18.17.30 #定义VIP } }~ 配置Nginx服务 [root@shiyan1 ~ ]# vim /etc/nginx/nginx.conf #添加nginx集群 upstream websrvs { server 172.18.17.33:80; server 172.18.17.34:80; server 127.0.0.1:8080 backup; } #server 部分的内容需要全部注释掉 [root@shiyan1 ~ ]# vim /etc/nginx/conf.d/default.conf server { listen 80; location / { root html; proxy_pass http://websrvs; index index.html index.htm; } } [root@shiyan1 ~ ]# systemctl restart nginx [root@shiyan1 ~ ]# systemctl restart keepalived [root@shiyan1 ~ ]# systemctl restart httpd
Backup配置
配置Sorry-Server [root@shiyan2 ~ ]# mkdir -p /app/apache/html/ [root@shiyan2 ~ ]# chown -R apache.apache /app/apache/html/ [root@shiyan2 ~ ]# echo "Sorry Server 2
" > /app/apache/html/index.html [root@shiyan2 ~ ]# vim /etc/httpd/conf/httpd.conf #此处是更改httpd.conf中的内容,并非添加内容 Listen 8080 DocumentRoot "/app/apache/html" #更改为自定义的路径 # # Relax access to content within /var/www. ##更改为自定义的路径 AllowOverride None # Allow open access: Require all granted # Further relax access to the default document root:#更改为自定义的路径. [root@shiyan2 ~ ]# systemctl restart http #测试网站是否正常运行 [root@yum ~ ]# curl http://172.18.17.31:8080 Sorry Server 2
#测试成功 配置Keepalived [root@shiyan2 ~ ]# cp /etc/keepalived/keepalived.conf{,.bak} #备份文件 [root@shiyan2 ~ ]# vim /etc/keepalived/keepalived.conf global_defs { notification_email { root #定义收邮件的用户 } notification_email_from Alexandre.Cassen@firewall.loc smtp_server 172.18.17.31 #定义邮件地址 smtp_connect_timeout 30 router_id node1 #定义节点名称 } vrrp_instance VI_1 { state MASTER #定义节点为主节点模式 interface ens33 #定义使用ens33为VIP网卡 virtual_router_id 51 #定义节点编号 priority 150 #定义优先级 advert_int 1 authentication { auth_type PASS auth_pass 1111 } virtual_ipaddress { 172.18.17.30 #定义VIP } }~ 配置Nginx服务 [root@shiyan2 ~ ]# vim /etc/nginx/nginx.conf #添加nginx集群 upstream websrvs { server 172.18.17.33:80; server 172.18.17.34:80; server 127.0.0.1:8080 backup; } #server 部分的内容需要全部注释掉 [root@shiyan2 ~ ]# vim /etc/nginx/conf.d/default.conf server { listen 80; location / { root html; proxy_pass http://websrvs; index index.html index.htm; } } [root@shiyan2 ~ ]# systemctl restart keepalived [root@shiyan2 ~ ]# systemctl restart nginx [root@shiyan2 ~ ]# systemctl restart httpd
测试环境
#默认使用rr算法依次轮询访问后端httpd服务器 [root@yum ~ ]# curl http://172.18.17.30 Apache Server 1 [root@yum ~ ]# curl http://172.18.17.30 Apache Server 2 #关闭后端http1服务,这样只能访问httpd2的服务 [root@yum ~ ]# curl http://172.18.17.30 Apache Server 2 [root@yum ~ ]# curl http://172.18.17.30 Apache Server 2 #关闭两台后端主机的httpd服务,这样因为没有后端服务器所以Master的sorry-server提供服务 [root@yum ~ ]# curl http://172.18.17.30Sorry Server 1
#关闭Master测试 [root@yum ~ ]# curl http://172.18.17.30Sorry Server 2
服务
配置
路径
内容
测试
节点
主机
地址
服务器
成功
网站
邮件
集群
运行
软件
优先级
名称
备份
文件
模式
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
戴尔服务器如何装win10
软件开发与服务个股
曙光龙芯服务器管理端口
中学生网络安全讲座ppt
红客网络安全应急响应中心
关羽脸谱数据库
宁夏网络技术有限公司
宿迁待遇资格领取链接服务器失败
中信银行软件开发岗涨薪
服务器主板坏了有什么影响
vb用 查询数据库
计算机网络技术上课内容
网络安全威胁体现在哪里
软件开发 研发效率
图书购买数据库
百度谷歌的数据库是
郑州专业软件开发大概要多少钱
战锤3 无法访问服务器
网络安全的排查
国内ERP软件开发商
易助erp软件开发企业
u8初始化数据库会怎么样
sql数据库设置学生年龄范围
网络安全等级备案号
如何筑牢网络安全屏障
通化市网络安全知识
深圳中港星互联网科技有限公司
网络安全宣传小学视频
网络安全需要生态治理
可能是网络安全密匙不匹配