通過查看nginx的并發(fā)連接,我們可以更清除的知道網(wǎng)站的負載情況。nginx并發(fā)查看有兩種方法(之所以這么說,是因為筆者只知道兩種),一種是通過web界面,一種是通過命令,web查看要比命令查看顯示的結(jié)果精確一些。nginx是一個高性能的http和反向代理web服務(wù)器,同時也提供了imap/pop3/smtp服務(wù)。其特點是占有內(nèi)存少,并發(fā)能力強,事實上nginx的并發(fā)能力在同類型的網(wǎng)頁服務(wù)器中表現(xiàn)較好,nginx專為性能優(yōu)化而開發(fā),下面就由小編和大家講一講nginx日志。
一、nginx的log日志分為access log 和 error log
其中access log 記錄了哪些用戶,哪些頁面以及用戶瀏覽器、ip和其他的訪問信息
error log 則是記錄服務(wù)器錯誤日志
二、錯誤日志的形式如下:
10.1.1.1 - - [22/aug/2014:16:48:14 +0800] post /ajax/mbprequest.do http/1.1 200 367 - dalvik/1.6.0 (linux; u; android 4.1.1; armm7k build/jro03h) 119.189.56.175 127.0.0.1:8090 0.022 0.022
10.1.1.1 - - [22/aug/2014:16:48:19 +0800] post /ajax/mbprequest.do http/1.1 200 616 - dalvik/1.6.0 (linux; u; android 4.0.4; gt-i9103 build/imm76d) 36.250.89.22 127.0.0.1:8090 0.036 0.036
三、從上面我們可以看出幾部分信息:
1.客戶端(用戶)ip地址。如:上例中的 10.1.1.1 (內(nèi)網(wǎng)負載均衡地址)
2.訪問時間。如:上例中的 [22/aug/2014:16:48:19 +0800]
3.訪問端口。如:上例中的 127.0.0.1:8080
4.響應(yīng)時間。如:上例中的 0.022
5.請求時間。如:上例中的 0.022
6.用戶地理位置代碼(國家代碼)。
7.請求的url地址(目標url地址)的host。如:上例中的 /....
8.請求方式(get或者post等)。如:上例中的 get
9.請求url地址(去除host部分)。如:上例中的 /html/test.html
10.請求狀態(tài)(狀態(tài)碼,200表示成功,404表示頁面不存在,301表示永久重定向等,具體狀態(tài)碼可以在網(wǎng)上找相關(guān)文章,不再贅述)。如:上例中的 200
11.請求頁面大小,默認為b(byte)。如:上例中的 2426
12.來源頁面,即從哪個頁面轉(zhuǎn)到本頁,專業(yè)名稱叫做“referer”。如:上例中的 http://a.com
13.用戶瀏覽器語言。如:上例中的 es-es,es;q=0.8
14. 用戶瀏覽器其他信息,瀏覽器版本、瀏覽器類型等。如:上例中的 mozilla/5.0 (windows nt 6.1) applewebkit/537.11 (khtml, like gecko) chrome/23.0.1271.97 safari/537.11
其實nginx access日志的格式不是一成不變的,是可以自定義的。
在nginx的nginx.conf配置文件找到:log_format 這里就是日志的格式。
四、看一下和上述日志匹配的log格式設(shè)置:
#access日志格式配置,具體參數(shù)不再細說,上面都已經(jīng)說過了,自己對應(yīng)一下即可
log_format main '$remote_addr - $remote_user [$time_local] $request '
'$status $body_bytes_sent $http_referer '
'$http_user_agent $http_x_forwarded_for'
'$upstream_addr $upstream_response_time $request_time ';
access_log logs/access.log main;
#配置access log日志的存儲位置及文件,注意:access.log文件是可以按日期進行分割的,方便查看及處理
access_log /usr/local/nginx/log/access.log main。
nginx在啟動后,在unix系統(tǒng)中會以daemon的方式在后臺運行,后臺進程包含一個master進程和多個worker進程。我們也可以手動地關(guān)掉后臺模式,讓nginx在前臺運行,并且通過配置讓nginx取消master進程,從而可以使nginx以單進程方式運行。小伙伴們要想獲得更多nginx日志的內(nèi)容,請關(guān)注我們!