安裝準備
1.下載Linux下jdk8壓縮包
https://share.weiyun.com/8EJ04aNO
2.下載Linux下tomcat壓縮包
https://share.weiyun.com/bqrv1CsC
內容大綱
- 什么是nginx
- nginx 單擊版安裝 啟動 服務
- 使用nginx 做負載均衡
- nginx支持的負載均衡的策略
- 使用keepalived 完成 nginx 高可用配置
什么是nginx
Apache 靜態資源服務器 nginx 是一個 反向代理的 靜態資源服務器 ,
正向代理:

反向代理:

反向代理一般是用在服務器端 ,做請求的分發 ,能實作負載均衡,
nginx 單擊版安裝 啟動 服務
- 安裝nginx 服務需要的插件
yum install -y yum-utils

- 安裝nginx
在官方yum源中也是沒有nginx的,但是我們可以在本機去配置nginx的yam源,來實作nginx 的yum安裝,

然后再創建一個nginx.repo的檔案:
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
安裝好了:

nginx服務的管理命令:
systemctl start/stop/restart/status nginx
- 需要關閉linux 作業系統的selinux 服務
selinux是linux的安全服務套件
修改 vi /etc/selinux/config檔案,修改如下內容:

修改過之后,必須重啟linux,
nginx 組態檔:


我們以后經常修改的組態檔是/etc/nginx/conf.d/default.conf:

使用nginx 做負載均衡
下載完壓縮包通過xftp傳到linux的opt檔案夾下,進行解壓
第一步,首先要在我們linux服務器上啟動兩個tomcat
先配置jdk環境變數:


然后 保存退出 ,在命令列執行 source 命令 編譯環境變數檔案,讓環境變數立刻生效:

tomcat 啟動:

第二步,準備兩個tomcat 一個埠號弄成8000 另外一個9000



第三步,修改nginx的組態檔
沒有安裝vim,使用vi命令


然后重啟nginx服務:

nginx支持的負載均衡的策略
輪詢策略
默認nginx支持的策略,來了請求之后 排隊把請求一個一個的分發出去,
權重策略

IP_HASH方式
根據 客戶端ip地址 固定分配到一臺服務器上,以后這個ip來的所有請求 都會只到這一個服務器上,

使用keepalived 完成 nginx 高可用配置

上面我們實作的集群方式 可以解決tomcat 服務器單點故障的問題,但是解決不了 nginx服務器單點故障的問題,
解決nginx 單點故障問題,市場上通用的解決方案就是使用keepalived 這種插件,
先安裝keepalived服務:


下面修改keepalived的組態檔: vim /etc/keepalived/keepalived.conf檔案:
global_defs {
notification_email {
#keepalived如果檢測到nginx服務不能用會往這個郵件發信心
test@163.com
}
#配置郵件服務器的資訊
notification_email_from keepalived@localhost
smtp_server 127.0.0.1
smtp_connect_timeout 30
router_id LVS_MASTER
}
#宣告一個腳本
vrrp_script chk_http_port {
#檢測本機nginx的服務是否能用的腳本 這個腳本等下要自己撰寫
script "/usr/local/src/check_nginx_pid.sh"
#每隔多長時間自動呼叫上述腳本
interval 2
#權重
weight 2
}
vrrp_instance VI_1 {
#state MASTER
#配置當前的nginx服務器是主機還是備機
state BACKUP
#配置當前nginx服務是是否非搶占模式
#nopreempt
#配置心跳網卡的名稱
interface ens33
#所有的keepalived的服務器的虛擬化路由都要一致
virtual_router_id 50
#nginx服務器的初始化權重
priority 100
#心跳連接發送的間隔
advert_int 1
#認證方式和認證密碼 要保證所有keepalive的服務器的驗證方式和密碼都一樣
authentication {
auth_type PASS
auth_pass 1111
}
#啟用上述腳本
track_script {
chk_http_port
}
virtual_ipaddress {
#配置了keeplived服務器之后再訪問tomcat集群虛擬的ip地址時多少
192.168.17.222
#虛擬ip
}
}
下一步,寫/usr/local/src/check_nginx_pid.sh這個腳本:
#! /bin/bash
A=`ps -C nginx --no-header |wc -l`
if [ $A -eq 0 ];then
systemctl start nginx
if [ `ps -C nginx --no-header |wc -l` -eq 0 ];then
killall keepalived
fi
fi
創建好這個腳本之后 不要忘記修改檔案的權限:

下面啟動keepalived服務:
systemctl start keepalived
到此就結束了,感謝點贊哦!???
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/277452.html
標籤:其他

