您好,登錄后才能下訂單哦!
需要統計的頁面都導入js統計代碼,根據要統計的信息訪問統計服務器api地址
要統計的內容舉例:
(ip什么的就不上報了,交給nginx)
然而真實的統計代碼是要做容錯處理的,比如說一個頁面套一個頁面的時候會不會統計兩次,要不要加全局鎖,防止調用一次以后再調用統計多次的問題......
nginx并發性能很強勁,所以選用它
絕大多數服務器,都不允許靜態文件響應POST請求(GET請求靜態文件是天經地義的),否則會返回HTTP/1.1 405 Method not allowed
錯誤。
然而在前端開發中,前端開發工程師經常模擬后端請求,返回靜態數據來查看頁面效果,怎么辦?
目前有兩種方案解決:
在nginx.conf中,請求的靜態數據路徑中,添加如下語句error_page 405=200 $request_uri
:
location?~?\.(action|jsp)?{ ????root?$testDataFold; ????error_page?405?=200?$request_uri; }
找到文件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。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。