nginx+keepalived構建負載均衡代理服務器

實驗環境:

1、centos7.3 centos6.8
2、兩臺VS提供nginx代理和keepalived
3、兩臺RS提供httpd服務并部署wordpress
4、另外一臺提供Mysql數據庫服務

實驗拓撲圖:

nginx+keepalived構建負載均衡代理服務器

拓撲圖

實驗步驟

1、在vs1(172.18.251.4)上配置,用yum安裝keepalived和nginx

yum install -y keepalived nginx

2、配置vs1中keepalived配置文件

vim /etc/keepalived/keepalived.com

配置keepalived.com 實現vs1為主服務提供VIP:172.18.10.82,vs2為備用的,這里提供vs1主備的配置,vs2上只需要修改:

state BACKUP
priority 98

通過嵌入腳本獲取nginx的進程狀況來調整主備的工作模式。
具體配置如下:

nginx+keepalived構建負載均衡代理服務器

keepalived配置.jpg

通過寫通知腳本發送郵件給root,具體腳本如下:

nginx+keepalived構建負載均衡代理服務器

notify


3、配置nginx
編輯nginx的配置文件,實現nginx反向代理功能

vim /etc/nginx/conf/nginx.conf

修改nginx.conf文件

nginx+keepalived構建負載均衡代理服務器

nginx.conf


修改nginx下的server配置文件:

vim /etc/nginx/conf.d/defualt.conf

修改配置如下:

nginx+keepalived構建負載均衡代理服務器

default.conf


修改完畢后,可以檢測nginx修改是否正確:

nginx -t
nginx
ss -tnl | grep 80

為了防止rs1和rs2訪問錯誤,可以在vs上安裝httpd服務操作如下:

yum install -y httpd
vim /var/www/html/index.html
-------index.html--------------  Sorry !
-----------end---------------------- vim /etc/httpd/conf/httpd.conf
---------httpd.conf----------  listen 8080
----------------end------------------- systemctl start httpd
ss -tnl | grep 8080

vs2(172.18.251.40)和vs1(172.18.251.4)的配置差不多,需要注意的地方以上已經說明這里就不再復述。

4、部署rs中web服務
在rs1(172.18.250.237)通過yum安裝httpd等

yum -y httpd php php-mysql

下載wordpress并解壓!

cd /var/www/html
lftp 172.18.0.1
>mget pub/Sources/sources/httpd/wordpress.zip unzip wordpress.zip

修改httpd的配置文件:

vim /etc/httpd/conf/httpd.conf
----------------httpd.conf----------------------
DocmentRoot /var/www/html/wordpress
<Dirctory /var/www/html/wordpress
----------------------end---------------------------

啟動httpd服務:

systemctl start httpd
ss -tnl | grep 80

rs2(172.18.253.233)配置和rs1相同。
5、部署mysql服務器
通過yum安裝mysql

yum install mysql -y
service mysql start 注意確保iptables和selinux不影響,以上也是一樣:
iptables -F
setenforce 0 getenforce

進入mysql數據庫,新建數據庫wpdb,并授權用戶

mysql
>>CRTEATE DATABASE wpdb;
>> GRANT ALL ON wpdb.* TO 'wpuser'@'172.18.%.%' IDENTIFIED BY 'wppasswd'

6、啟動vs服務器上的keepalived
在vs1和vs2上啟動keepalived服務

systemctl start keepalived
ip a l

此處為了測試效果,在rs1和rs2新建測試頁如下:

nginx+keepalived構建負載均衡代理服務器

查看rs1頁面.jpg
nginx+keepalived構建負載均衡代理服務器

rs2查看頁面.jpg

7、測試高可用效果
通過停止服務檢測高可用的效果。

vs1:
systemctl stop nginx
ss -tnl
nginx+keepalived構建負載均衡代理服務器

note1停止后note2自動獲得地址
nginx+keepalived構建負載均衡代理服務器

note1恢復后

可以通過tcpdump命令查看檢測過程如下

nginx+keepalived構建負載均衡代理服務器

抓包檢測

經過試驗可以看出keepalived和nginx調度后,可實現高可用
8、通過網頁訪問,配置wordpress

原創文章,作者:elene@leo,如若轉載,請注明出處:http://www.www58058.com/76568

(0)
elene@leoelene@leo
上一篇 2017-05-21
下一篇 2017-05-21

相關推薦

  • 位置變量在Shell腳本編程中的作用

    位置變量:         如果要向一個shell腳本傳遞信息,可以使用位置參數完成此功能;參數相關數目傳入腳本,此數目可以任意多,但只有前9個可以被訪問,使用shift命令可以改變這個限制;參數從第一個開始,在第九個結束;每個訪問參數前要加$符號;第一個參數為0,表示預留保存實…

    Linux干貨 2016-08-15
  • ?Nginx

    Nginx 概述 yum安裝Nginx 編譯安裝Nginx 主要文件路徑 主配置文件nginx.conf main block:全局配置段 http/https 協議相關配置段 性能優化初步 調試、定位問題的配置 events段配置 worker、method、accept_mutex http協議相關配置段 虛擬主機 基于PORT、IP、Server Na…

    Linux干貨 2016-10-24
  • linux操作系統rpm軟件包管理

    軟件包管理 軟件包運行環境: API:Application Programming Interface     使用標準:POSIX:     源代碼運行步驟:預處理(如處理注釋)—>編譯成匯編代碼—>鏈接其他庫文件 ABI:applicatio…

    2016-08-22
  • 第四周練習

    1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限。         # cp -r /etc/skel /home/tuser1      &nb…

    Linux干貨 2016-11-18
  • N27_網絡班第八周作業

    1、寫一個腳本,使用ping命令探測172.16.250.1-172.16.250.254之間所有主機的在線狀態; 在線的主機使用綠色顯示; 不在線的主機用紅色表示; #!bin/bash # for i in `seq 254`;do if ping -c 1 192.168.68.$i &> /dev/null;then echo -e “…

    2017-09-28
  • 第一周作業

    1、描述計算機的組成及其功能。 計算機的基本功能:數據處理、數據存儲、數據傳輸、控制; 計算機中的數據:包含計算機所能處理的給中對象,如數值、字符、圖形、圖像、聲音、視頻等。 計算機的所有功能都是通過指令實現的。 指令:是計算機硬件能直接識別并執行的命令,不同種類的計算機通常有著不同的指令編碼,一臺計算機的所有指令集合稱之為指令系統。若干條指令組成的一個指令…

    Linux干貨 2016-12-12
欧美性久久久久