一文讀懂Nginx
Nginx知識網(wǎng)結(jié)構(gòu)圖
客戶端無法感知代理,因為客戶端訪問網(wǎng)絡(luò)不需要配置,只要把請求發(fā)送到反向代理服務(wù)器,由反向代理服務(wù)器去選擇目標服務(wù)器獲取數(shù)據(jù),然后再返回到客戶端,此時反向代理服務(wù)器和目標服務(wù)器對外就是一個服務(wù)器,暴露的是代理服務(wù)器地址,隱藏了真實服務(wù)器IP地址。

[root@localhost?pcre-8.37] #?pcre-config?--version

[root@localhost?pcre-8.37]#?yum?-y?make?zlib?zlib-devel?gcc-c++?libtool?openssl?openssl-devel
cd?/usr/local/nginx/sbin
[root@localhost?sbin]#?ps?-ef|grep?nginx

Linux系統(tǒng)
[root@localhost?~]yum?install?gcc-c++
[root@localhost?~]yum?install?-y?pcre?pcre-devel
[root@localhost?~]yum?install?-y?zlib?zlib-devel
[root@localhost?~]yum?install?-y?openssl?openssl-devel
[root@localhost?~]tar?zxf?nginx-1.8.0.tar.gz
./configure
–prefix=/usr/local/nginx
–pid-path=/var/run/nginx/nginx.pid
–lock-path=/var/lock/nginx.lock
–error-log-path=/var/log/nginx/error.log
–http-log-path=/var/log/nginx/access.log
–with-http_gzip_static_module
–http-client-body-temp-path=/var/temp/nginx/client
–http-proxy-temp-path=/var/temp/nginx/proxy
–http-fastcgi-temp-path=/var/temp/nginx/fastcgi
–http-uwsgi-temp-path=/var/temp/nginx/uwsgi
–http-scgi-temp-path=/var/temp/nginx/scgi
[root@localhost?sbin]#?mkdir?/var/temp/nginx/client?-p
[root@localhost?sbin]#?./nginx
[root@localhost?sbin]#?./nginx?-s?stop
[root@localhost?sbin]#?./nginx?-s?quit
./nginx?-v
./nginx
?./nginx?-s?stop
?./nginx?-s?quit
./nginx?-s?reload


location[?=?|?~?|?~*?|?^~]?url{
}
=:用于不含正則表達式的url前,要求字符串與url嚴格匹配,匹配成功就停止向下搜索并處理請求
~:用于表示url包含正則表達式,并且區(qū)分大小寫
~*:用于表示url包含正則表達式,并且不區(qū)分大小寫
^~:用于不含正則表達式的url前,要求Ngin服務(wù)器找到表示url和字符串匹配度最高的location后,立即使用此location處理請求,而不再匹配
如果有url包含正則表達式,不需要有~開頭標識
訪問http://192.168.25.132:9001/edu/直接跳轉(zhuǎn)到192.168.25.132:8080
訪問http://192.168.25.132:9001/vod/直接跳轉(zhuǎn)到192.168.25.132:8081
./nginx?-s?reload
./nginx?-s?reload




兩臺Nginx服務(wù)器
安裝Keepalived
虛擬IP
[root@192?usr] #?rpm?-q?-a?keepalived
keepalived-1.3.5-16.el7.x86_64
[root@192?keepalived]#?cd?/etc/keepalived
[root@192?keepalived]#?vi?keepalived.conf?
global_defs?{
???notification_email?{
?????acassen@firewall.loc
?????failover@firewall.loc
?????sysadmin@firewall.loc
???}
???notification_email_from?Alexandre.Cassen@firewall.loc
???smtp_server?192.168.25.147
???smtp_connect_timeout?30
???router_id?LVS_DEVEL?#?訪問的主機地址
}
vrrp_script?chk_nginx?{
??script?"/usr/local/src/nginx_check.sh"??#?檢測文件的地址
??interval?2???#?檢測腳本執(zhí)行的間隔
??weight?2???#?權(quán)重
}
vrrp_instance?VI_1?{
????state?BACKUP????#?主機MASTER、備機BACKUP????
????interface?ens33???#?網(wǎng)卡
????virtual_router_id?51?#?同一組需一致
????priority?90??#?訪問優(yōu)先級,主機值較大,備機較小
????advert_int?1
????authentication?{
????????auth_type?PASS
????????auth_pass?1111
????}
????virtual_ipaddress?{
????????192.168.25.50??#?虛擬ip
????}
}
[root@192?sbin]#?systemctl?start?keepalived.service
Worker數(shù)應(yīng)該和CPU數(shù)相等
一個Master多個Worker可以使用熱部署,同時Worker是獨立的,一個掛了不會影響其他的。
特別推薦一個分享架構(gòu)+算法的優(yōu)質(zhì)內(nèi)容,還沒關(guān)注的小伙伴,可以長按關(guān)注一下:
長按訂閱更多精彩▼
如有收獲,點個在看,誠摯感謝
免責聲明:本文內(nèi)容由21ic獲得授權(quán)后發(fā)布,版權(quán)歸原作者所有,本平臺僅提供信息存儲服務(wù)。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!