-
nginx介紹
nginx爲性能優化而開發,能支持高達50000個併發連接
-
反向代理
我知道想要想要查看的服務器,需要用戶自己配置
我不知道要查找的服務器,不需要用戶配置
-
負載均衡
nginx通過輪訓,ip_hash等方式分發到不同的服務器,高可用
-
動靜分離
資源動靜分離
-
安裝
https://www.cnblogs.com/xxoome/p/5866475.html
https://www.cnblogs.com/happyyangyanghappy/p/10860747.html -
常用命令
進入到nginx 安裝sbin目錄下
1:查看版本
./nginx -V
2: 停止服務
./nginx -s stop
3:啓動服務
./nginx
4:重新啓動
./nginx - s reload -
nginx配置文件
1:nginx.conf /usr/local/nginx/conf/nginx.conf (1)全局塊 主要會設置影響nginx服務器整體運行的指令 - 配置運行nginx服務器的用戶組 - 運行生成的worker process數:並法處理服務的配置,值越大處理併發越多。受硬件軟件約束 - 進行pid存放路徑 - 日誌存放路徑 - 配置文件的引入 (2)events塊 主要影響nginx服務器與用戶的網絡連接 - 是否開啓對多work process下的網絡鏈接進行序列化 - 是否允許接收多個網絡連接 - 每個work process可以同時支持的最大連接數 (3)http塊 - http 全局塊 - server塊 - 模擬代理一個服務器配置 訪問 www.123.com![在這裏插入圖片描述](https://img-blog.csdnimg.cn/2020061816412477.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmd5YW5qYXZh,size_16,color_FFFFFF,t_70) nginx.conf 文件中server的配置
- 代理兩個服務器配置,訪問不同域名,跳轉不同服務器
-sever配置
-
負載均衡
1: 配置
在這裏插入圖片描述
-
負載均衡策略
- 輪訓(默認):按請求順序分配到不同的服務器,如果當機能自動剔出 - weight:權重越大,分配的請求數越多 - ip_hash:按請求訪問的ip的hash結果分配,每個訪客會固定訪問一個後端服務器,可以解決session的問題 - fair(第三方),按後端的響應時間進行分配,響應時間短的優先分配
-
動靜分離
方式一:把靜態文件放到單獨的服務器 方式二:動靜文件混合發佈,通過nginx分理 - 通過location指定不同的後綴名來顯示不同的請求轉發 - 通過expires參數設置,使用瀏覽器緩存,減少與服務器的交互
-
動靜分離配置
nginx.conf 1:root爲文件夾的路徑 2:可通過 http://192.168.17.129/www/a.html 訪問data文件夾下的a.html靜態頁面
-
nginx高可用配置
原因:目前一臺nginx服務器,如果宕機的話,用戶通過nginx對外暴漏的網址就無法訪問服務器,會對工作造成嚴重損失
配置示意圖:
準備工作:
(1):安裝兩個nginx
(2):安裝兩個keepalived及詳情講解
https://blog.csdn.net/bbwangj/article/details/80346428- etc下會生成keepalived目錄,裏面有keepalived.conf配置文件 - 配置文件信息 1、報警郵件 2、檢測nginx服務器是否宕機的腳本執行的間隔 ![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200618174024329.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmd5YW5qYXZh,size_16,color_FFFFFF,t_70) ![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200618173235506.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmd5YW5qYXZh,size_16,color_FFFFFF,t_70) 3、設置服務器的主從 4、網卡 ![在這裏插入圖片描述](https://img-blog.csdnimg.cn/20200618173730393.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmd5YW5qYXZh,size_16,color_FFFFFF,t_70) 5、主備機的virtual_router_id虛擬路由id,必須相同 6、主備的優先級 7、對外的虛擬ip ![在這裏插入圖片描述](https://img-blog.csdnimg.cn/2020061817355277.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3lhbmd5YW5qYXZh,size_16,color_FFFFFF,t_70) (3):啓動keepalived systemctl start keepalived.service (4) :根據虛擬地址訪問
-
問題:發送請求,佔用了work的幾個連接數nginx中的每一個work是一個獨立的進程,採用了io多路複用機制(只限於linux),幾核的cpu設置幾個work
答案:2個或者4個(請求訪問靜態服務器請求+響應(2);如動態需要訪問動態,需要訪問數據庫,mysql請+mysql響+nginx請+nginx響(4個),)
問題:nginx有一個master,有四個worker,每個worker支持的最大連接數爲1024,支持的最大併發數
*答案:4(worker數)1024/4(請求佔用連接)
--------------------根據尚硅谷視頻進行總結,文章中的圖片也來自視頻的截圖-------------------