nginx是乙個高效能的http和反向**web伺服器,特點是:占有記憶體少,併發能力強。事實是nginx的併發能力確實在同型別的網頁伺服器中表現較好。
nginx專為效能優化而開發,效能是其最重要的考量,實現上非常注重效率,能經受高負載的考驗,有報告表明能支援高達 50000 個併發連線數。
(1)正向**
在客戶端(瀏覽器)配置**伺服器,通過**伺服器進行網際網路訪問
(2)反向**
我們只需要將請求傳送到反向**伺服器,由反向**伺服器去選擇目標伺服器獲取資料後,再返回給客戶端。此時反向**伺服器和目標伺服器對外就是乙個伺服器,暴露的是**伺服器位址,隱藏了真實伺服器ip位址。
server
location ~
/vod/
}
location指令說明
1、= : 用於不含正規表示式的uri前,要求請求字串與uri嚴格匹配,如果匹配成功,就停止繼續向下搜尋並立即處理該請求
2、~ : 用於標識 uri 包含 正規表示式,並且區分大小寫
3、 ~* : 用於標識uri包含正規表示式,並且不區分大小寫
4、 ^~ : 用於不含正規表示式的 uri 前,要求 nginx 伺服器找到標識uri和請求字串匹配度最高的 location 後,立即使用此location處理請求,而不再使用location塊中的正則uri和請求字串做匹配
注意:如果uri包含正規表示式,則必須要有 ~ 或者 ~ 標識* .
單個伺服器解決不了,我們增加伺服器的數量,然後將請求分發到各個伺服器上。將原先請求集中到單個伺服器上的情況改為請求分發到多個伺服器上。將負載分發到不同的伺服器,也就是我們所說的負載均衡。
在http塊配置需要負載均衡的服務 #myserver 是取的服務名
upstream myserver
再加上
server
server_name:本機ip,proxy_pass http://myserver;
nginx分配伺服器策略
第一種 輪詢(預設)
每個請求按時間順序逐一分配到不同的後端伺服器,如果後端伺服器down掉,能自動剔除。
第二種 weight
weight 代表權重預設為1,權重越高被分配的客戶端越多
upstream myserver
第三種 ip_hash
每個請求按訪問的 hash 結果分配,這樣每個訪客固定訪問乙個後端伺服器,可以解決session的問題。
upstream myserver
第四種 fair(第三方)
按後端伺服器的響應時間來分配請求,響應時間短的優先分配。
為了加快**的解析速度,可以把動態頁面和靜態頁面由不同的伺服器來解析,加快解析速度,降低原來單個伺服器的壓力。
server
location
/image
}
autoindex on; 列出當前資料夾的內容
檢視nginx版本號 nginx -v
2.啟動nginx
(1)直接雙擊nginx.exe,雙擊後乙個黑色的彈窗一閃而過
(2)開啟cmd命令視窗,切換到nginx解壓目錄下,輸入命令 nginx.exe 或者 start nginx ,回車即可
3.檢查nginx是否啟動成功
(1)瀏覽器輸入** http://localhost:80
(2)cmd命令視窗輸入 tasklist /fi 「imagename eq nginx.exe」
(3) nginx的配置檔案是conf目錄下的nginx.conf,預設配置的nginx監聽的埠為80,如果80埠被佔 用可以修改為未被占用的埠即可 (80埠在server內)
(4)檢查80埠是否被占用: netstat -ano | findstr 「80」 或 netstat -ano | findstr 0.0.0.0:80
(5)修改nginx的配置檔案nginx.conf 時,不需要關閉nginx後重新啟動nginx,只需要執行命令
nginx -s reload 即可讓改動生效 (執行命令需要去nginx目錄下執行)
4.關閉nginx
(1) 輸入nginx命令 nginx -s stop(快速停止nginx) 或 nginx -s quit(完整有序的停止nginx)
(2) 使用taskkill taskkill /f /t /im nginx.exe
5.使用nginx**伺服器做負載均衡
(1)修改nginx的配置檔案nginx.conf 達到訪問nginx**伺服器時跳轉到指定伺服器的目的,即通過 proxy_pass 配置請求**位址,即當我們依然輸入http://localhost:80 時,請求會跳轉到我們配置的伺服器
6.nginx配置靜態資源1.nginx配置檔案位置
nginx 目錄下 conf 目錄下 nginx.conf 檔案
2.nginx配置檔案組成
(1)nginx配置檔案由三部分組成
第一部分 全域性塊
從配置檔案開始到 events 塊之間的內容,主要會設定一些映像 nginx 伺服器整體執行的配置指令
比如 worker_processes 1; worker_processes 值越大,可以支援的併發處理量也越多
第二部分 events 塊
events 塊涉及的指令主要影響 nginx 伺服器與使用者的網路連線
比如 worker_connections 1024; 支援的最大連線數
第三部分 http 塊
nginx 伺服器配置中最頻繁的部分
http 塊也可以包括 http 全域性塊、server 塊
nginx與uwsgi,uwsgi的應用
django uwsgi nginx nginx和uwsgi的區別和作用 1,nginx是對外的伺服器,外部瀏覽器通過url訪問nginx,uwsgi是對內的伺服器,主要用來處理動態請求。2,nginx接收到瀏覽器傳送過來的http請求,將包進行解析,分析url,a.如果是靜態檔案請求就直接訪問使用...
Nginx設定與應用
靜態 動靜分離 虛擬主機 nginx是乙個http的web伺服器,可以將伺服器上的靜態檔案 如html 等 通過http協議返回給瀏覽器客戶端 一般上線部署或某台伺服器出現錯誤的時候使用,將其中一台伺服器標註後,不影響其它的伺服器的訪問使用 nginx的負載均衡和靜態 結合一起,我們可以實現動靜分離...
nginx的介紹與安裝使用
此文 自 安裝與使用 點選進入nginx官網 windows下的nginx安裝只是簡單的解壓即可 方法1 可以通過開啟nginx.exe開啟服務 方法2 進入到nginx的資料夾中,然後cmd開啟 在cmd中輸入start nginx開啟服務 驗證是否開啟服務,在瀏覽器中輸入127.0.0.1,如若...