Nginx基礎及其配製說明

2021-07-31 21:15:30 字數 4376 閱讀 7933

現在主流使用的web伺服器主要有三種nginxapachelighttpd,它們主要的區別我在主流web伺服器的區別這一章中介紹了,nginx的優點主要是:非同步無阻塞架構,擁有更高的效率;結構化的配置檔案,更有效的組織配置資料;社群和論壇非常活躍,學習資料很豐富;

安裝完nginx後,在nginx目錄下:sbin/nginx:nginx主程式,conf/nginx.conf主配置,這兩個檔案就是nginx的主要內容;

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

user nobody;

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

worker_processes 4

;#log檔案位址

error_log logs/error.log;

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

error_log logs/error.log info;

#程序id檔案

pid logs/nginx.pid;

#乙個nginx程序開啟的最多檔案描述符數目,理論值應該是最多開啟檔案數(系統的值ulimit -n)與nginx程序數相除,

#但是nginx分配請求並不均勻,所以建議與ulimit -n的值保持一致。

worker_rlimit_nofile 65535

;#工作模式與連線數上限

events

#設定http伺服器

#websocket長連線通訊配製upgrade

#虛擬主機的配置

server

#快取時間設定

#js和css快取時間設定

location ~ .*.(js|css)?$

#日誌格式設定

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

access_log logs/access.log access;

#對 "/" 啟用反向**

location /

#設定檢視nginx狀態的位址

location /nginxstatus

#本地動靜分離反向**配置

#所有jsp的頁面均交由tomcat或resin處理

location ~ .(jsp|jspx|do)?$

#所有靜態檔案由nginx直接讀取不經過tomcat或resin

}#為nginx設定預設虛擬主機(空主機頭,預設主機頭)

#比如別人通過ip或者未知網域名稱訪問你的**的時候,你希望禁止顯示任何有效內容,可以給他返回500

server

}

1)server匹配

1

2

3

4

server

2)location匹配

1

2

3

4

5

6

7

8

9

10

11

12

location / 

# location = /user

# location = \,css$

3)rewrite規則

rewrite可以用在server或location下,以特定的格式書寫,將使用者的請求進行修改,格式一般為:rewrite 正規表示式 替換目標 動作

動作一般有:last、break、permanent、redirect

1

2

3

4

5

6

7

8

9

10

11

12

13

#rewrite, then break

rewrite ^/$ /html/index.htm

break;

# #rewrite with 301

rewrite ^/admin/?$ permanent;

# #rewrite, then do loaction matching

rewrite ^/user(/[^/]*)(/.*)?$ /user/index.htm

$1$2 last;

# #rewrite with a argument

ewrite ^/api/module/(.*)?$ /module/indext.html?=

$1break;

# #rewrite ^/pgc /prof?url=pgc? redirect;

4)upstream

nginx可以作為反向**,位於伺服器群的最前端,將使用者的請求根據一定的策略傳送到後端進行真正的處理;

通常在server或location下加入proxy_pass來指定命中的請求進入upstream模組;

1

2

3

location / 

upstream常見有輪訓,權重,根據ip進行hash,fair優先選擇響應時間短的伺服器,自定義hash等手段實現

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

$uri

#uri值不帶引數

#$request_uri

#原始uri

#$server_addr

#伺服器位址

#$remote_addr

#客戶端位址

#$host

#host名稱

#http首部字段內容

#$arg_***

#引數內容

#$cookie_***

#cookie內容

#$request_metod

#請求動作 get post

#$request_time

#$status

#響應碼

1

2

3

4

5

6

7

8

9

nginx 

-s stop 立即停止程序,相當於kill -9#

quit 優雅的退出

# reload 重新讀取配置檔案

# reopen 重新開啟日誌控制代碼

# nginx不支援so,新增模組時需要重新編譯;

VMware網路配製說明

網路連線方式 橋連線 可以連線外網,可以連線外部機器 nat 可以連線外網,不可以連線外部機器,只能與本機連線 僅主機 不可以連線外網,不可以連線外部機器,只能與本機連線 vmnet資訊 橋連線 vmnet0 nat vmnet8 僅主機 vmnet1 橋連線 複製本機網絡卡資訊,有靜態ip與動態i...

nginx基礎配置說明以及重啟方式說明

作為一名新時代的前端工程師,我們不僅要深入學習前端知識,同時還要熟悉後端知識。這樣我們的職業道路才會更長。接下來,我就來給前端同學分享一下nginx基礎配置吧。額,先說說如何啟動 停止吧 啟動 我自己一般用nohup nginx 預設使用的配置檔案是 usr local nginx conf ngi...

nginx 配置說明

定義nginx執行的使用者和使用者組 user www www nginx程序數,建議設定為等於cpu總核心數。worker processes 8 全域性錯誤日誌定義型別,debug info notice warn error crit error log ar loginx error.log...