架構 6 lnmp nginx的負載,高可用

2021-10-09 20:58:20 字數 3364 閱讀 9503

一、前期的架構搭建

基礎架構搭建

環境準備:配置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集群來執行的。採用集群部署模式極...