一、前期的架構搭建
基礎架構搭建
環境準備:配置ip,關閉防火牆和selinux
ifdown ens33;ifup ens33
systemctl stop firewalld
systemctl disable firewalld
setenforce 0
1、搭建nginx**(192.168.1.10)
cd /etc/yum.repos.d/
vim nginx.repo
新增:[nginx-stable]
name=nginx stable repo
baseurl=
gpgcheck=0
enabled=1
儲存退出
yum -y install nginx
systemctl restart nginx
systemctl enable nginx
2、搭建mysql伺服器(192.168.1.20)rpm -ivh
yum install mysql-community-server -y
systemctl start mysqld
systemctl enable mysqld
建立需要的資料庫,使用者:
初始化密碼:mysql_secure_installation
登入資料庫:mysql -uroot -p123.com
建立資料庫:create database blog;
建立遠端管理使用者:grant all on blog.* to lisi@'%' identified by '123.com';
3、搭建php伺服器(192.168.1.30)rpm -uvh
rpm -uvh
yum -y install php72w php72w-cli php72w-common php72w-devel \
php72w-embedded php72w-gd php72w-mbstring php72w-pdo \
php72w-xml php72w-fpm php72w-mysqlnd php72w-opcache
systemctl start php-fpm
systemctl enable php-fpm
4、nginx 安裝wordpress
(2)複製wordpress安裝包,到虛擬機器/,解壓並賦權
unzip wordpress-4.9.4-zh_cn.zip
chmod -r 777 /wordpress
(3)建立虛擬主機配置檔案
vim /etc/nginx/conf.d/blog.conf
新增:server
} 儲存退出
nginx -t
systemctl restart nginx
在nginx上覆制wordpress目錄到php的根目錄
scp -rp /wordpress [email protected]:/
修改php伺服器的配置檔案
vim /etc/php-fpm.d/www.conf
定位並修改為:
listen = 192.168.1.30:9000 #php的ip位址
listen.allowed_clients = 192.168.1.10 #nginx的ip位址
儲存退出
重啟php:systemctl restart php-fpm
5、配置lb負載均衡及反向**—lb1和lb2一樣(lb1-1.40 lb2-1.50)(1)安裝nginx同上
(2)新增優化項
vim /etc/nginx/nginx_params
新增:proxy_set_header host $http_host;
proxy_set_header x-real-ip $remote_addr;
proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
proxy_connect_timeout 30;
proxy_send_timeout 60;
proxy_read_timeout 60;
proxy_buffering on;
proxy_buffer_size 32k;
proxy_buffers 4 128k;
儲存退出
(3)建立lb配置檔案,
vim /etc/nginx/conf.d/lb1.conf
新增:upstream web_cluster
server
}儲存退出
檢查配置:nginx -t
重啟nginx:systemctl restart nginx
6、搭建nginx高可用–keepalived(1.40和1.50)配置兩台負載均衡伺服器的高可用
(1)lb1和lb2安裝keepalived
yum -y install keepalived
(2)配置keepalived
主伺服器:lb1
vim /etc/keepalived/keepalived.conf
修改為:
global_defs
vrrp_instance vi_1
virtual_ipaddress
}儲存退出
啟動服務:systemctl restart keepalived
備伺服器:lb2
vim /etc/keepalived/keepalived.conf
修改為:
global_defs
vrrp_instance vi_1
virtual_ipaddress
}儲存退出
啟動服務:systemctl restart keepalived
(3)檢視漂移位址
ip addr show dev ens33
開啟一台linunx 在hosts檔案中 新增解析
vim /etc/hosts
192.168.1.254 blog.benet.com
儲存退出
瀏覽器訪問:blog.benet.com 即可
分布式架構的負載均衡演算法
輪詢 round robin 法 將請求按順序輪流分配到後台伺服器上,均衡的對待每一台伺服器,而不關心伺服器實際的連線數和當前的系統負載 缺點 當集群中伺服器硬體配置不同 效能差別大時,無法區別對待 隨機法 通過系統隨機函式,根據後台伺服器列表的大小值來隨機選取其中一台進行訪問。隨著呼叫量的增大,其...
關於Nginx負載均衡的6種策略
nginx的upstream目前支援的5種方式的分配 1 輪詢 預設 每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。upstream backserver 2 指定權重 指定輪詢機率,weight和訪問比率成正比,用於後端伺服器效能不均的情況。upstream ...
負載均衡的基礎架構與使用場景
基礎架構 負載均衡採用集群部署,可實現會話同步,以消除伺服器單點故障,提公升冗餘,保證服務的穩定性。阿里雲當前提供四層 tcp協議和udp協議 和七層 http和https協議 的負載均衡服務。如下圖所示,各個地域的四層負載均衡實際上是由多台lvs機器部署成乙個lvs集群來執行的。採用集群部署模式極...