Nginx基本知識

2021-09-06 17:07:10 字數 2453 閱讀 1795

基本配置說明

#定義nginx執行的使用者和使用者組

user www-data www-data;

#nginx程序數,建議設定為等於cpu總核心數。

worker_processes 2;

#全域性錯誤日誌定義型別,[ debug | info | notice | warn | error | crit ]

error_log /var/log/nginx/error.log info;

#程序檔案

pid /var/run/nginx.pid;

#乙個nginx程序開啟的最多檔案描述符數目,理論值應該是最多開啟檔案數(系統的值ulimit -n)與nginx程序數相除,但是nginx分配請求並不均勻,所以建議與ulimit -n的值保持一致。

worker_rlimit_nofile 65535;

#工作模式與連線數上限

events

http塊配置
http

#虛擬主機設定

server

#日誌格式設定

#定義本虛擬主機的訪問日誌

access_log /var/log/nginx/test.log access;

#設定檢視nginx狀態的位址

location /nginxstatus

}}

location詳解型別

先匹配普通,再匹配正則;正則會覆蓋普通

執行順序:

普通location

最大字首匹配;

前面若指定了^~,則普通location一旦匹配上,就不需要繼續正則匹配

制訂了=嚴格匹配也不要繼續正則匹配

正則location

順序匹配,且只要匹配到第乙個就停止後面的匹配

例項

location =/

location ~ /images/abc/

執行順序

rewrite功能

#語法 

rewrite [regex] [replacement] [flag]

rewrite 規則

flag標誌位

tips:

last一般寫在server和if中,而break一般使用在location中

last不終止重寫後的url匹配,即新的url會再從server走一遍匹配流程,而break終止重寫後的匹配

break和last都能組織繼續執行後面的rewrite指令

if指定與全域性變數

#語法

#1.當表示式只是乙個變數時,如果值為空或任何以0開頭的字串都會當做false

#2.直接比較變數和內容時,使用=或!=

#3.~正規表示式匹配,~*不區分大小寫的匹配,!~區分大小寫的不匹配

if(condition)

-f和!-f用來判斷是否存在檔案

-d和!-d用來判斷是否存在目錄

-e和!-e用來判斷是否存在檔案或目錄

-x和!-x用來判斷檔案是否可執行

可用於if判斷的全域性變數:

常用正則

rewrite例項

http 

# 注意不能在上面這條規則後面加上「last」引數,否則下面的set指令不會執行

set $image_file $3;

set $image_type $4;

}location /data

location = /image404.html

}

對形如/images/ef/uh7b3/test.png的請求,重寫到/data?file=test.png,於是匹配到location /data,先看/data/images/test.png檔案存不存在,如果存在則正常響應,如果不存在則重寫try_files到新的image404 location,直接返回404狀態碼。

參考文獻

nginx的基本知識

1 什麼是ngnix?nginx是一款輕量級的web 伺服器 反向 伺服器及電子郵件 imap pop3 伺服器,在bsd like 協議下發行 其特點是占有記憶體少,併發能力強,事實上nginx的併發能力確實在同型別的網頁伺服器中表現較好 2 nginx的優點 1 適用於高併發 2 可以做負載均衡...

nginx基本知識彙總

nginx的常用功能 http 反向 負載均衡,web快取 nginx常用模組 main 全域性設定 server 主機設定 upstream 負載均衡伺服器設定 和 location url匹配特定位置的設定 nginx負載均衡策略 輪詢 權重 ip hash ip繫結 fair 按後端伺服器響應...

Nginx基本知識,nginx安裝使用方法

nginx 是一款高效能的web伺服器軟體.具有極高的併發效能 利用nginx與tomcat組合使用,搭建反向 集群 nginx 反向 集群可以解決 的高併發問題 1 安裝 yum安裝 安裝yum y install nginx 啟動 停止 重啟 開機自啟 systemctl start stop ...