需要統(tǒng)計(jì)的頁(yè)面都導(dǎo)入js統(tǒng)計(jì)代碼,根據(jù)要統(tǒng)計(jì)的信息訪問(wèn)統(tǒng)計(jì)服務(wù)器api地址
成都創(chuàng)新互聯(lián)公司憑借專業(yè)的設(shè)計(jì)團(tuán)隊(duì)扎實(shí)的技術(shù)支持、優(yōu)質(zhì)高效的服務(wù)意識(shí)和豐厚的資源優(yōu)勢(shì),提供專業(yè)的網(wǎng)站策劃、成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、網(wǎng)站優(yōu)化、軟件開(kāi)發(fā)、網(wǎng)站改版等服務(wù),在成都十載的網(wǎng)站建設(shè)設(shè)計(jì)經(jīng)驗(yàn),為成都數(shù)千家中小型企業(yè)策劃設(shè)計(jì)了網(wǎng)站。要統(tǒng)計(jì)的內(nèi)容舉例:
(ip什么的就不上報(bào)了,交給nginx)
然而真實(shí)的統(tǒng)計(jì)代碼是要做容錯(cuò)處理的,比如說(shuō)一個(gè)頁(yè)面套一個(gè)頁(yè)面的時(shí)候會(huì)不會(huì)統(tǒng)計(jì)兩次,要不要加全局鎖,防止調(diào)用一次以后再調(diào)用統(tǒng)計(jì)多次的問(wèn)題......
nginx并發(fā)性能很強(qiáng)勁,所以選用它
絕大多數(shù)服務(wù)器,都不允許靜態(tài)文件響應(yīng)POST請(qǐng)求(GET請(qǐng)求靜態(tài)文件是天經(jīng)地義的),否則會(huì)返回HTTP/1.1 405 Method not allowed
錯(cuò)誤。
然而在前端開(kāi)發(fā)中,前端開(kāi)發(fā)工程師經(jīng)常模擬后端請(qǐng)求,返回靜態(tài)數(shù)據(jù)來(lái)查看頁(yè)面效果,怎么辦?
目前有兩種方案解決:
在nginx.conf中,請(qǐng)求的靜態(tài)數(shù)據(jù)路徑中,添加如下語(yǔ)句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; }
然后按照原來(lái)的編譯參數(shù),重新編譯安裝nginx即可。
推薦方案一,簡(jiǎn)單方便無(wú)副作用,^_^。
nginx.conf中按照方案一配置:
#打點(diǎn)服務(wù)器配置(url訪問(wèn)dig,顯示一個(gè)1*1像素的gif圖片)
location = /dig {
empty_gif;
#絕大多數(shù)服務(wù)器,都不允許靜態(tài)文件響應(yīng)post請(qǐng)求(get請(qǐng)求靜態(tài)文件是天經(jīng)地義的),否則會(huì)返回HTTP/1.1 405 Method not allowed錯(cuò)誤,然而在前端開(kāi)發(fā)中,前端開(kāi)發(fā)工程師經(jīng)常模擬后端請(qǐng)求,返回靜態(tài)數(shù)據(jù)來(lái)查看頁(yè)面效果,怎么辦?這樣咯:
error_page 405 =200 $request_uri;
}
訪問(wèn)localhost/dig:
(顯示一個(gè)1*1像素的gif圖片)
注意:同時(shí)要打開(kāi)access_log保存訪問(wèn)記錄、日志格式:
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性能調(diào)優(yōu),可以根據(jù)機(jī)器的軟硬件配置來(lái)調(diào)整:
gzip內(nèi)置字典,重復(fù)越多,壓縮越好。gzip在傳輸?shù)膬?nèi)容多的時(shí)候可以開(kāi)啟節(jié)省傳輸數(shù)據(jù)大小,但在傳輸少量?jī)?nèi)容的時(shí)候反而沒(méi)多少用,還浪費(fèi)cpu性能。
問(wèn)題:
問(wèn):為什么要用empty_gif來(lái)做接收返回響應(yīng)?
答:常識(shí)是要發(fā)送給api接口,返回json、狀態(tài)碼等。然而只要是json就是一長(zhǎng)串的字符,在高并發(fā)的項(xiàng)目中,在高峰期壓力非常高,它要接收請(qǐng)求返回json,很難構(gòu)造很小的響應(yīng)。而且,打點(diǎn)服務(wù)器只要上報(bào),不要返回(完全不返回也不行,三次握手需要response),所以用empty_gif來(lái)做極小的response。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。