Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含4110字,纯文字阅读大概需要6分钟。
内容图文
![Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群](/upload/InfoBanner/zyjiaocheng/1309/314a32b7cba341d1a3295f5c1b13751e.jpg)
![技术分享图片](/upload/getfiles/default/2022/11/4/20221104035450150.jpg)
描述:
1、前端两台NGINX,通过keepalived虚拟IP漂移,实现前端两台NGINX高可用;
2、利用NGINX反向代理功能对后端varnish实现高可用集群,
3、再通过varnish实现动静分离
注:1、先装Nginx +keepalived
2、装varnish
3、装lamp
需要6台虚拟机(100-101装Nginx +keepalived:100主,101备)需要联网(102-103装varnish)需要联网(104-105装lamp)需要联网
所有主机必做的步骤
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
1、装Nginx +keepalived(两台机子都要做的)(100主101备)
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
cd /etc/yum.repos.d/
mv back/* ./
yum install -y epel-release
yum install -y nginx
yum install keepalived -y
————————————————————————————————
主(80.100)
vi /etc/keepalived/keepalived.conf(把里面内容全删了添加以下内容)
! Configuration File for keepalived
global_defs {
route_id NGINX-01
}
vrrp_script nginx {
script "/opt/nginx.sh"
interval 2
weight -10
}
vrrp_instance VI_1 {
state MASTER
interface ens32
virtual_router_id 51
priority 150
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
track_script {
nginx
}
virtual_ipaddress {
192.168.80.188
}
}
scp /etc/keepalived/keepalived.conf root@192.168.80.101:/etc/keepalived/keepalived.conf
备(80.101)
vi /etc/keepalived/keepalived.conf(修改以下画圈部分)
![技术分享图片](/upload/getfiles/default/2022/11/4/20221104035452770.jpg)
主(80.100)
vi /opt/nginx.sh(添加以下内容)
#!/bin/bash
A=$(ps -ef | grep keepalived | grep -v grep | wc -l)
if [ $A -gt 0 ];then
systemctl start nginx
else
systemctl sop nginx
fi
chmod +x /opt/nginx.sh
ll /opt/nginx.sh
netstat -anpt | grep nginx
systemctl start keepalived
netstat -anpt | grep nginx
ip addr show ens32
![技术分享图片](/upload/getfiles/default/2022/11/4/20221104035454104.jpg)
备(80.101)
vi /opt/nginx.sh(添加以下内容)
#!/bin/bash
A=$(ip addr | grep 192.168.80.188/32 | grep -v grep | wc -l)
if [ $A -gt 0 ];then
systemctl start nginx
else
systemctl stop nginx
fi
chmod +x /opt/nginx.sh
systemctl start keepalived
cat /var/log/messages
![技术分享图片](/upload/getfiles/default/2022/11/4/20221104035454722.jpg)
主(80.100)
cat /var/log/messages
vi /etc/nginx/nginx.conf(修改以下内容)
upstream varnish_pool {
server 192.168.80.102:80;
server 192.168.80.103:80;
}
proxy_pass http://varnish_pool;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $remote_addr;
nginx -t
scp /etc/nginx/nginx.conf 192.168.80.101:/etc/nginx/nginx.conf
systemctl restart nginx
2、装varnish(80.102,80.103)(两台机子都需要做)
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
cd /etc/yum.repos.d/
mv back/* ./
yum install epel-release -y //需要联网
yum install -y varnish
————————————————————————————————
vi /etc/varnish/varnish.params(修改环圈部分)
vi /etc/varnish/default.vcl(修改添加以下部分)
backend web1 {
.host = "192.168.80.104";
.port = "80";
}
backend web2 {
.host = "192.168.80.105";
.port = "80";
}
sub vcl_recv {
if (req.url ~ "(?i)\.php$"){
set req.backend_hint = web1;
}else{
set req.backend_hint = web2;
}
systemctl start varnish
netstat -anpt | grep varnish
![技术分享图片](/upload/getfiles/default/2022/11/4/20221104035458337.jpg)
80.103
vi /etc/varnish/varnish.params(修改以下内容)
![技术分享图片](/upload/getfiles/default/2022/11/4/20221104035458626.jpg)
(80.102)
scp /etc/varnish/default.vcl 192.168.80.103:/etc/varnish/default.vcl
80.103
systemctl start varnish
netstat -anpt | grep varnish
3、装lamp(两台机子都要做的)(100主101备)
systemctl stop firewalld //关闭防火墙
setenforce 0 //关闭监控
cd /etc/yum.repos.d/
mv back/* ./
安装wget
yum install -y wget
yum install -y httpd
systemctl start httpd
systemctl enable httpd
获取rpm软件包:
wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
安装rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
安装mysql
yum install -y mysql-community-server
启动
systemctl start mysql
systemctl enable mysql
修改root密码并设置允许远程连接
进入mysql
mysql -uroot
设置root密码为123456
set password for ‘root‘@‘localhost‘ =password(‘123456‘);
设置允许用root账户进行远程连接,并设置其密码为123456
grant all privileges on *.* to root@‘%‘identified by ‘123456‘;
修改的配置立即生效
flush privileges;
退出:
exit
部署php
yum install -y php
安装组件是php支持mysql
yum install -y php-mysql php-gd libjpeg* php-ldap php-odbc php-pear php-xml php-xmlrpc php-mbstring php-bcmath php-mhash
————————————————————————————————
80.104
vi /etc/httpd/conf/httpd.conf(修改以下内容)
ServerName www.example.com:80去掉#号
systemctl start httpd
echo "<h1>192.168.80.101</h1>" > /var/www/html/index.php
80.105
vi /etc/httpd/conf/httpd.conf(修改以下内容)
ServerName www.example.com:80去掉#号
systemctl start httpd
echo "<h1>192.168.80.102</h1>" > /var/www/html/index.html
任务栏搜索192.168.80.100
任务栏搜索192.168.80.102
任务栏搜索192.168.80.103
任务栏搜索192.168.80.104
任务栏搜索192.168.80.105
任务栏搜索192.168.80.188
原文:http://blog.51cto.com/14158288/2351758
内容总结
以上是互联网集市为您收集整理的Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群全部内容,希望文章能够帮你解决Nginx +keepalived+varnish+lamp实现高可用、负载均衡集群所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。