打點統計——1(nginx的配置)
需要統計的頁面都導入js統計代碼,根據要統計的信息訪問統計服務器api地址
要統計的內容舉例:

(ip什么的就不上報了,交給nginx)
然而真實的統計代碼是要做容錯處理的,比如說一個頁面套一個頁面的時候會不會統計兩次,要不要加全局鎖,防止調用一次以后再調用統計多次的問題......
nginx並發性能很強勁,所以選用它
Nginx的405錯誤
絕大多數服務器,都不允許靜態文件響應POST請求(GET請求靜態文件是天經地義的),否則會返回HTTP/1.1 405 Method not allowed錯誤。
然而在前端開發中,前端開發工程師經常模擬后端請求,返回靜態數據來查看頁面效果,怎么辦?
目前有兩種方案解決:
方案一:修改配置文件nginx.conf(推薦)
在nginx.conf中,請求的靜態數據路徑中,添加如下語句error_page 405=200 $request_uri:
location ~ \.(action|jsp) {
root $testDataFold;
error_page 405 =200 $request_uri;
}
方案二:修改nginx源碼編譯
找到文件ngx_http_static_module.c,然后找到下面代碼並注釋掉。
if (r->method & NGX_HTTP_POST) {
return NGX_HTTP_NOT_ALLOWED;
}
然后按照原來的編譯參數,重新編譯安裝nginx即可。
推薦方案一,簡單方便無副作用,^_^。
nginx.conf中按照方案一配置:
#打點服務器配置(url訪問dig,顯示一個1*1像素的gif圖片)
location = /dig {
empty_gif;
#絕大多數服務器,都不允許靜態文件響應post請求(get請求靜態文件是天經地義的),否則會返回HTTP/1.1 405 Method not allowed錯誤,然而在前端開發中,前端開發工程師經常模擬后端請求,返回靜態數據來查看頁面效果,怎么辦?這樣咯:
error_page 405 =200 $request_uri;
}
訪問localhost/dig:

(顯示一個1*1像素的gif圖片)
注意:同時要打開access_log保存訪問記錄、日志格式:
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"'; (日志的格式)
access_log logs/access.log main;
以及一些nginx性能調優,可以根據機器的軟硬件配置來調整:

gzip內置字典,重復越多,壓縮越好。gzip在傳輸的內容多的時候可以開啟節省傳輸數據大小,但在傳輸少量內容的時候反而沒多少用,還浪費cpu性能。
問題:
問:為什么要用empty_gif來做接收返回響應?
答:常識是要發送給api接口,返回json、狀態碼等。然而只要是json就是一長串的字符,在高並發的項目中,在高峰期壓力非常高,它要接收請求返回json,很難構造很小的響應。而且,打點服務器只要上報,不要返回(完全不返回也不行,三次握手需要response),所以用empty_gif來做極小的response。
©著作權歸作者所有:來自51CTO博客作者梁十八的原創作品,如需轉載,請注明出處,否則將追究法律責任

