現在主流使用的web伺服器主要有三種nginx
、apache
和lighttpd
,它們主要的區別我在主流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匹配
12
3
4
server
2)location匹配
12
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
12
3
4
5
6
7
8
9
10
11
12
13
#rewrite, then breakrewrite ^/$ /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模組;
12
3
location /
upstream常見有輪訓,權重,根據ip進行hash,fair優先選擇響應時間短的伺服器,自定義hash等手段實現
12
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
#響應碼
12
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...