Nginx 是一個高性能的 HTTP 和反向代理服務器,特色是佔用內存少,併發能力強,事實上 Nginx 的併發能力確實在同類型的網頁服務器中表現較好。Nginx 專爲性能優化而開發,性能是其最重要的要求,十分注重效率,有報告 Nginx 能支持高達 50000 個併發鏈接數。html
01java
Nginx 知識網結構圖nginx
02程序員
反向代理web
04
面試
動靜分離正則表達式
Nginx 如何在 Linux 安裝數據庫
https: //blog.csdn.net/yujing1314/article/details/97267369
Nginx 經常使用命令編程
./nginx -v
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
Nginx 的配置文件後端
①全局塊
②events 塊
③HTTP 塊
location [ = | ~ | ~* | ^~] url{
}
=:用於不含正則表達式的 url 前,要求字符串與 url 嚴格匹配,匹配成功就中止向下搜索並處理請求。
~:用於表示 url 包含正則表達式,而且區分大小寫。
~*:用於表示 url 包含正則表達式,而且不區分大小寫。
^~:用於不含正則表達式的 url 前,要求 Nginx 服務器找到表示 url 和字符串匹配度最高的 location 後,當即使用此 location 處理請求,而再也不匹配。關注公衆號:Java後端編程,回覆 java 獲取學習資料 。
若是有 url 包含正則表達式,不須要有 ~ 開頭標識。
07
反向代理實戰
①配置反向代理
訪問 http://192.168.25.132:9001/edu/ 直接跳轉到 192.168.25.132:8080
訪問 http://192.168.25.132:9001/vod/ 直接跳轉到 192.168.25.132:8081
./nginx -s reload
192.168.25.132 www.123.com。
訪問 http://192.168.25.132:9001/edu/ 直接跳轉到 192.168.25.132:8080
訪問 http://192.168.25.132:9001/vod/ 直接跳轉到 192.168.25.132:8081
./nginx -s reload
輪詢(默認)。
weight,表明權,權越高優先級越高。
fair,按後端服務器的響應時間來分配請求,相應時間短的優先分配。
-
ip_hash,每一個請求按照訪問 ip 的 hash 結果分配,這樣每個訪客固定的訪問一個後端服務器,能夠解決 Session 的問題。
09
動靜分離實戰
什麼是動靜分離?把動態請求和靜態請求分開,不是講動態頁面和靜態頁面物理分離,能夠理解爲 Nginx 處理靜態頁面,Tomcat 處理動態頁面。
純粹將靜態文件獨立成單獨域名放在獨立的服務器上,也是目前主流方案。
將動態跟靜態文件混合在一塊兒發佈,經過 Nginx 分開。
動靜分離圖析:
Nginx 高可用
兩臺 Nginx 服務器
安裝 Keepalived
-
虛擬 ip
安裝 Keepalived:
[root@192 usr]# yum install keepalived -y
[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
smtp_server 192.168.25.147(主)smtp_server 192.168.25.147(備)
-
state MASTER(主) state BACKUP(備)
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 # 檢測腳本執行的間隔
weight 2 # 權重
}
vrrp_instance VI_1 {
state BACKUP # 主機MASTER、備機BACKUP
interface ens33 # 網卡
virtual_router_id 51 # 同一組需一致
priority 90 # 訪問優先級,主機值較大,備機較小
advert_int 1
authentication {
auth_type PASS
auth_pass 1111
}
virtual_ipaddress {
192.168. 25.50 # 虛擬ip
}
}
[ root@192 sbin] # systemctl start keepalived.service
原理解析
最近面試BAT,整理一份面試資料 《Java面試BAT通關手冊》 ,覆蓋了Java核心技術、JVM、Java併發、SSM、微服務、數據庫、數據結構等等。 獲取方式: 關注公衆號並回復 666 領取,更多內容陸續奉上。 明天見(。・ω・。)ノ♡
本文分享自微信公衆號 - 程序員開源社區(jkjishuzhan)。
若有侵權,請聯繫 support@oschina.cn 刪除。
本文參與「OSC源創計劃」,歡迎正在閱讀的你也加入,一塊兒分享。