下文給大家?guī)碚莆誑ginx +keepalived+varnish+lamp實現(xiàn)高可用、負載均衡集群的方法,希望能夠給大家在實際運用中帶來一定的幫助,負載均衡涉及的東西比較多,理論也不多,網(wǎng)上有很多書籍,今天我們就用創(chuàng)新互聯(lián)在行業(yè)內(nèi)累計的經(jīng)驗來做一個解答。
為新蔡等地區(qū)用戶提供了全套網(wǎng)頁設計制作服務,及新蔡網(wǎng)站建設行業(yè)解決方案。主營業(yè)務為網(wǎng)站制作、成都做網(wǎng)站、新蔡網(wǎng)站設計,以傳統(tǒng)方式定制建設網(wǎng)站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
描述:
1、前端兩臺NGINX,通過keepalived虛擬IP漂移,實現(xiàn)前端兩臺NGINX高可用;
2、利用NGINX反向代理功能對后端varnish實現(xiàn)高可用集群,
3、再通過varnish實現(xiàn)動靜分離
注:1、先裝Nginx +keepalived
2、裝varnish
3、裝lamp
需要6臺虛擬機(100-101裝Nginx +keepalived:100主,101備)需要聯(lián)網(wǎng)(102-103裝varnish)需要聯(lián)網(wǎng)(104-105裝lamp)需要聯(lián)網(wǎng)
所有主機必做的步驟
systemctl stop firewalld //關(guān)閉防火墻
setenforce 0 //關(guān)閉監(jiān)控
1、裝Nginx +keepalived(兩臺機子都要做的)(100主101備)
systemctl stop firewalld //關(guān)閉防火墻
setenforce 0 //關(guān)閉監(jiān)控
cd /etc/yum.repos.d/
mv back/* ./
yum install -y epel-release
yum install -y nginx
yum install keepalived -y
vi /etc/keepalived/keepalived.conf(把里面內(nèi)容全刪了添加以下內(nèi)容)
! 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
vi /etc/keepalived/keepalived.conf(修改以下畫圈部分)
vi /opt/nginx.sh(添加以下內(nèi)容)
#!/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
vi /opt/nginx.sh(添加以下內(nèi)容)
#!/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
cat /var/log/messages
vi /etc/nginx/nginx.conf(修改以下內(nèi)容)
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 //關(guān)閉防火墻
setenforce 0 //關(guān)閉監(jiān)控
cd /etc/yum.repos.d/
mv back/* ./
yum install epel-release -y //需要聯(lián)網(wǎng)
yum install -y varnish
vi /etc/varnish/varnish.params(修改環(huán)圈部分)
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
vi /etc/varnish/varnish.params(修改以下內(nèi)容)
scp /etc/varnish/default.vcl 192.168.80.103:/etc/varnish/default.vcl
systemctl start varnish
netstat -anpt | grep varnish
3、裝lamp(兩臺機子都要做的)(100主101備)
systemctl stop firewalld //關(guān)閉防火墻
setenforce 0 //關(guān)閉監(jiān)控
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
vi /etc/httpd/conf/httpd.conf(修改以下內(nèi)容)
ServerName www.example.com:80去掉#號
systemctl start httpd
echo "<h3>192.168.80.101</h3>" > /var/www/html/index.php
vi /etc/httpd/conf/httpd.conf(修改以下內(nèi)容)
ServerName www.example.com:80去掉#號
systemctl start httpd
echo "<h3>192.168.80.102</h3>" > /var/www/html/index.html
看了以上關(guān)于掌握Nginx +keepalived+varnish+lamp實現(xiàn)高可用、負載均衡集群的方法,如果大家還有什么地方需要了解的可以在創(chuàng)新互聯(lián)行業(yè)資訊里查找自己感興趣的或者找我們的專業(yè)技術(shù)工程師解答的,創(chuàng)新互聯(lián)技術(shù)工程師在行業(yè)內(nèi)擁有十幾年的經(jīng)驗了。
分享文章:掌握Nginx+keepalived+varnish+lamp實現(xiàn)高可用、負載均衡集群的方法
分享網(wǎng)址:http://sd-ha.com/article46/josdeg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供電子商務、App開發(fā)、外貿(mào)網(wǎng)站建設、網(wǎng)站改版、定制網(wǎng)站、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)