Nginx做為開發者的神器, 據2021年8月web服務器排行榜, nginx占據了30%的流量穩居第一, 相信大部分程式員都不會陌生.
相信大部分的開發人員都經歷過配置Nginx的程序, 每次配置都是要各種查查查的程序, 而且經常要配置個半天才能配置完成, 然后再進行測驗. 推薦一個網站nginx在線配置,nginx快速配置 - 問蒙在線工具 (tool.fit)來進行快速配置.
Nginx配置說明
Nginx配置以key空格value然后分號為結束符, 以#為注釋符, 大括號{}里面的稱為檔案塊如"http {}", 主要分為以下幾塊內容:
基礎配置說明
這里負責Nginx的全域引數, 負責Nginx正常作業的基本引數
worker_processes auto;#表示nginx啟動的行程數和cpu的執行緒線一致error_log log/error.log debug;#表示記錄錯誤日志, 錯誤日志的檔案是log/error.log,級別是debug.
HTTP配置說明
這里主要負責http/https的引數配置, 關于http的所有配置資訊全部寫在http配置塊底下, 除了一些配置, 反向代理及負載均衡也都將配置在這下面. 例:
sendfile on;#開啟高效的檔案傳輸模式gzip on;#開啟gzip檔案壓縮keepalive_timeout 65;#設定超時時間為65, 即連接的總時長為65秒, 如果有大檔案的傳輸, 請更改選項
Server(反向代理)配置說明
這里主要配置當前的代理的引數, 大部分HTTP的配置引數能在這里使用, 若使用會覆寫掉HTP的引數如 keepalive_timeout 600; 那么此時, 超時時長在當前代理會變成600s, 即10分鐘, 位置資訊將配置到該代理下面, 常用的引數
listen 80;#監聽80的埠listen 443 ssl;#監聽443的埠, 以https方式監聽, 可以在一個代理下同時監聽兩個埠, 選擇ssl需要配置相應的ssl_certificate和ssl_certificate_keyserver_name tool.fit;#監聽的域名, 可以由同一個埠, 多個域名, nginx會自動匹配到相應的反向代理上
Location(位置匹配)配置說明
位置資訊匹配, 也是路由的匹配規則都將在這里體現. 主要語法
location [=|~|~*|^~] /uri/ { … }
^~開頭表示uri以某個常規字串開頭,理解為匹配 url路徑即可,nginx不對url做編碼,因此請求為/static/20%/aa,可以被規則^~ /static/ /aa匹配到(注意是空格),
location ^~ /static/ {
root /www/root/static; #根目錄
}
~開頭表示區分大小寫的正則匹配
location /proxy {
proxy_pass https://http_balance;
}
~*開頭表示不區分大小寫的正則匹配!~和!~*分別為區分大小寫不匹配及不區分大小寫不匹配 的正則/通用匹配,任何請求都會匹配到,
location / {
proxy_pass http://127.0.0.1:8000;
}
- tcp/udp的server, 沒有location選項, 只有埠, proxy_pass的時候不填前綴http://和https://, 另外udp的轉發需要注意運行的nginx是否支持該項. 例:
server {
listen 888;
proxy_pass stream_balance;
}
Upstream(負載均衡)配置說明
負載均衡的目的, 是為了服務更多的前端請求, 同時更好的保證服務器集群的穩定性, 從而使系統更加健壯. 負載均衡的策略如下
會話保持(sticky),ip系結(ip_hash),最少連接(least_conn),最短時間(least_time),公平(fair),url系結(url_hash), 請查詢您用的版本是否帶有該項策略, 如果沒有請參考如何使用, 每條負載內部有相應的六個個引數, 即IP地址,監聽埠,權重(weight),最大失敗次數(max_fails),失敗等待時間(fail_timeout),狀態(down, backup), 若留空表示正常狀態.
upstream stream_balance {
server 127.0.0.1:7878 weight=100 fail_timeout=60 max_fails=3;
server 192.168.10.121:3333 backup; #熱備
}
下面讓我們來個nginx配置python的Django的轉發
監聽81埠, 監聽域名為www.tool.fit
基本的轉發需要一個靜態檔案的讀取, 即static, 假設為/www/static
會配置/api路由的介面專門轉發到 192.168.1.100:8000和192.168.1.100:8888, 用ip_hash的策略去做轉發
其它的通配路徑/直接轉發到http://192.168.1.100:8000
前端網路環境需要我們轉發真實IP到后端環境
首先我們打開nginx在線配置,nginx快速配置 - 問蒙在線工具 (tool.fit), 上面已經配置了常見的屬性, 現在我們實驗下配置程序, 打開該網站, 先進行負載均衡配置

點擊負載均衡, 在server的位置點擊相應的編輯按鈕

根據各個引數填入相應的值, 點擊確定, 現在我們已經準備好了一個名叫http_balance名字的負載均衡分別指向192.168.1.100:8000和192.168.1.100:8888

點擊相應的location進行引數的更改,

在代理目標里面輸http_balance名, 和勾選攜帶HOST引數, 點擊確定, 即可完成配置

最后您應該下載您所需要的Nginx.conf組態檔了, 直接點擊下載即可以下載配置.
此時把nginx組態檔放到您的目錄下, 即可以使用了, 當然下次編輯您可以直接用加載檔案把該檔案加載, 就可以在現在的基礎上直接編輯了…, 祝您好運
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/299648.html
標籤:其他
下一篇:2021.9.11自學C第二天
