1、Nginx
普陀網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、成都響應(yīng)式網(wǎng)站建設(shè)公司等網(wǎng)站項(xiàng)目制作,到程序開發(fā),運(yùn)營(yíng)維護(hù)。創(chuàng)新互聯(lián)自2013年創(chuàng)立以來(lái)到現(xiàn)在10年的時(shí)間,我們擁有了豐富的建站經(jīng)驗(yàn)和運(yùn)維經(jīng)驗(yàn),來(lái)保證我們的工作的順利進(jìn)行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)。業(yè)務(wù)背景
現(xiàn)公司需求快速搭建web服務(wù)器,對(duì)外提供給用戶web服務(wù)。
需求拆分
需要基于http協(xié)議的軟件,搭建服務(wù)實(shí)現(xiàn)
介紹
常見用法:成都服務(wù)器托管
1) web服務(wù)器軟件 httpd http協(xié)議
同類的web服務(wù)器軟件:apache(老牌) nginx(俄羅斯) IIS(微軟)
2)代理服務(wù)器 反向代理
3)郵箱代理服務(wù)器 IMAP POP3 SMTP
4)負(fù)載均衡功能 LB loadblance
Nginx架構(gòu)的特點(diǎn):成都服務(wù)器托管
①高可靠:穩(wěn)定性 master進(jìn)程 管理調(diào)度請(qǐng)求分發(fā)到哪一個(gè)worker=> worker進(jìn)程 響應(yīng)請(qǐng)求 一master多worker②熱部署 :(1)平滑升級(jí) (2)可以快速重載配置③高并發(fā):可以同時(shí)響應(yīng)更多的請(qǐng)求 事件 epoll模型 幾萬(wàn)④響應(yīng)快:尤其在處理靜態(tài)文件上,響應(yīng)速度很快 sendfile⑤低消耗:cpu和內(nèi)存 1w個(gè)請(qǐng)求 內(nèi)存2-3MB⑥分布式支持 :反向代理 七層負(fù)載均衡
官方網(wǎng)址:http://nginx.org/
1.2、安裝
常見安裝方式:成都服務(wù)器托管
①yum安裝配置,需使用Nginx官方源或者EPEL源②源碼編譯
#添加運(yùn)行用戶
shell>useradd-s/sbin/nologin-Mwww
#安裝依賴
shell>yum-yinstallpcre-develzlib-developenssl-devel
#編譯安裝
shell>cd/root/soft
shell>tarxvfnginx-1.14.2.tar.gz
shell>cdnginx-1.14.2
shell>./configure--prefix=/usr/local/nginx--user=www--group=www--with-http_ssl_module--with-http_stub_status_module--with-http_realip_module&&make&&makeinstall
編譯參數(shù)說(shuō)明
1.3、目錄介紹
查看安裝目錄/usr/local/nginx
1.4、軟件操作參數(shù)
查看nginx的二進(jìn)制可執(zhí)行文件的相關(guān)參數(shù)
shell>cd/usr/local/nginx/sbin
shell>./nginx-h
執(zhí)行后顯示
nginxversion:nginx/1.14.2
Usage:nginx[-?hvVtTq][-ssignal][-cfilename][-pprefix][-gdirectives]
?
Options:
#查看幫助
-?,-h:thishelp
#查看版本并退出
-v:showversionandexit
#查看版本和配置選項(xiàng)并退出
-V:showversionandconfigureoptionsthenexit
#檢測(cè)配置文件語(yǔ)法并退出
-t:testconfigurationandexit
#檢測(cè)配置文件語(yǔ)法打印它并退出
-T:testconfiguration,dumpitandexit
#在配置測(cè)試期間禁止顯示非錯(cuò)誤信息
-q:suppressnon-errormessagesduringconfigurationtesting
#發(fā)送信號(hào)給主進(jìn)程stop強(qiáng)制退出quit優(yōu)雅的退出reopen重開日志reload重載配置
-ssignal:sendsignaltoamasterprocess:stop,quit,reopen,reload
#設(shè)置nginx目錄$prefix路徑
-pprefix:setprefixpath(default:/usr/local/nginx/)
#指定啟動(dòng)使用的配置文件
-cfilename:setconfigurationfile(default:conf/nginx.conf)
#在配置文件之外設(shè)置全局指令
-gdirectives:setglobaldirectivesoutofconfigurationfile
一般主要使用:成都服務(wù)器托管
-s參數(shù)控制管理nginx服務(wù)-V參數(shù)查看nginx開啟的模塊和編譯參數(shù)-t參數(shù)檢測(cè)配置文件是否有錯(cuò)誤
2、Keepalived實(shí)現(xiàn)高可用
業(yè)務(wù)背景
單例web服務(wù)器能夠滿足業(yè)務(wù)基本需求,提供web服務(wù)。但是,存在單點(diǎn)故障的問題,即當(dāng)服務(wù)器宕機(jī)后,用戶將無(wú)法獲取到服務(wù)響應(yīng)。
為了能夠提高用戶體驗(yàn)度,能夠持續(xù)得給用戶提供優(yōu)質(zhì)的服務(wù),當(dāng)web服務(wù)器不可用時(shí),可以有備用服務(wù)器接替web服務(wù)器的工作,繼續(xù)為用戶提供響應(yīng)。其中,還要解決一個(gè)問題,需要備用服務(wù)器能夠快速自動(dòng)切換過來(lái)。
一般將以上業(yè)務(wù)需求,稱為實(shí)現(xiàn)服務(wù)的高可用HA。
需求拆分
也就是高可用的實(shí)現(xiàn)核心:成都服務(wù)器托管
①冗余服務(wù)器(備份服務(wù)器)
②自動(dòng)切換 可以通過綁定虛擬IP的方式 用戶通過VIP訪問服務(wù)
2.1、介紹
Keepalived軟件起初是專為L(zhǎng)VS負(fù)載均衡軟件設(shè)計(jì)的,用來(lái)管理并監(jiān)控LVS集群系統(tǒng)中各個(gè)服務(wù)節(jié)點(diǎn)的狀態(tài),后來(lái)又加入了可以實(shí)現(xiàn)高可用的VRRP功能。因此,Keepalived除了能夠管理LVS軟件外,還可以作為其他服務(wù)(例如:Nginx、Haproxy、MySQL等)的高可用解決方案軟件。
keepalived主要使用三個(gè)模塊,分別是core、check和vrrp。
core模塊為keepalived的核心,負(fù)責(zé)主進(jìn)程的啟動(dòng)、維護(hù)以及全局配置文件的加載和解析。
check負(fù)責(zé)健康檢查,包括常見的各種檢查方式。
vrrp模塊是來(lái)實(shí)現(xiàn)VRRP協(xié)議的。
2.2、安裝
master和backup都需要進(jìn)行安裝,也就是server01和server03機(jī)器
#安裝keepalived shell > yum -y install keepalived
keepalived需要使用的目錄和文件:成都服務(wù)器托管
2.3、配置
①備份主備服務(wù)器的配置文件
shell>cd/etc/keepalived
shell>cpkeepalived.confkeepalived.conf_bak
②分別修改主備服務(wù)器配置文件
shell>vimkeepalived.conf
示例配置文件說(shuō)明
!ConfigurationFileforkeepalived
#發(fā)送郵件的配置
global_defs{
notification_email{
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_fromAlexandre.Cassen@firewall.loc
smtp_server192.168.200.1
smtp_connect_timeout30
router_idLVS_DEVEL
}
#vrrp協(xié)議的配置
vrrp_instanceVI_1{
#工作模式
stateMASTER
#監(jiān)聽的網(wǎng)卡
interfaceeth0
#虛擬路由id需要和備服務(wù)器一致
virtual_router_id51
#權(quán)重優(yōu)先級(jí)
priority100
#vrrp包的發(fā)送周期1s
advert_int1
#權(quán)限驗(yàn)證
authentication{
auth_typePASS
auth_pass1111
}
#需要綁定切換的VIP
virtual_ipaddress{
192.168.200.16
192.168.200.17
192.168.200.18
}
}
主服務(wù)器
!ConfigurationFileforkeepalived
global_defs{
notification_email{
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_fromAlexandre.Cassen@firewall.loc
smtp_server192.168.200.1
smtp_connect_timeout30
router_idLVS_DEVEL
}
vrrp_instanceVI_1{
stateMASTER
interfaceeth0
virtual_router_id51
priority100
advert_int1
authentication{
auth_typePASS
auth_pass1111
}
#master默認(rèn)只需要修改使用VIP即可
virtual_ipaddress{
192.168.17.200
}
}
備服務(wù)器
!ConfigurationFileforkeepalived
global_defs{
notification_email{
acassen@firewall.loc
failover@firewall.loc
sysadmin@firewall.loc
}
notification_email_fromAlexandre.Cassen@firewall.loc
smtp_server192.168.200.1
smtp_connect_timeout30
router_idLVS_DEVEL
}
vrrp_instanceVI_1{
#修改工作模式為備
stateBACKUP
interfaceeth0
virtual_router_id51
priority100
advert_int1
authentication{
auth_typePASS
auth_pass1111
}
#注意修改VIP
virtual_ipaddress{
192.168.17.200
}
}
③分別按照順序啟動(dòng)主服務(wù)器和備服務(wù)器的keepalived
shell>servicekeepalivedstart
④查看主備服務(wù)器的網(wǎng)卡信息
#需要通過ip a命令查看 分別在server01和server03查看 shell > ip a
2.4、模擬故障
模擬服務(wù)器故障宕機(jī),查看是否可以切換服務(wù)到備用機(jī)器。
模擬宕機(jī),關(guān)閉server01 master服務(wù)器,VIP自動(dòng)切換到server03 backup服務(wù)器
#抓包vrrp
shell>yum-yinstalltcpdump
shell>tcpdumpvrrp-n