採用的是openresty1.15版本。
在nginx的nginx.conf中配置以下引數:
在server配置中新增以下
set_by_lua $operate_timestamp "return tonumber(ngx.var.msec)*1000";
set_by_lua $operate_rdm "return math.random(100000000,os.time())";
set $logid "$operate_timestamp:$operate_rdm:$remote_addr";
完整示例:
server
}
配置location
在location下新增logid和access_log
proxy_set_header logid $logid;
access_log /data/nginx/logs/operate.log operatelog ;
完整示例:
location ~/api/test/
監測/data/nginx/logs/split/資料夾下的檔案建立事件,讀取處理json資料檔案儲存到資料庫。
資料庫表示例
create table public.tbl_nginx_access_log
( log_id varchar(256)
, user_id varchar(32)
, system_id varchar(32)
, client_ip varchar(64)
, server_ip varchar(64)
, proxypass varchar(64)
, request_time bigint,
request_method varchar(32)
, request_status varchar(32)
, cost_time varchar(32)
, user_agent varchar(1024)
, request_uri varchar(1024)
, referer varchar(1024)
, request_param text
);comment on table public.tbl_nginx_access_log is 'nginx訪問日誌'
; comment on column public.tbl_nginx_access_log.log_id is '日誌id'
; comment on column public.tbl_nginx_access_log.user_id is '使用者id'
; comment on column public.tbl_nginx_access_log.system_id is '系統id'
; comment on column public.tbl_nginx_access_log.client_ip is '客戶端ip'
; comment on column public.tbl_nginx_access_log.server_ip is '服務端ip'
; comment on column public.tbl_nginx_access_log.proxypass is '**服務ip'
; comment on column public.tbl_nginx_access_log.request_time is '訪問時間'
; comment on column public.tbl_nginx_access_log.request_method is '請求方法'
; comment on column public.tbl_nginx_access_log.request_status is '請求狀態'
; comment on column public.tbl_nginx_access_log.cost_time is '耗時'
; comment on column public.tbl_nginx_access_log.user_agent is '客戶端資訊'
; comment on column public.tbl_nginx_access_log.request_uri is '請求介面'
; comment on column public.tbl_nginx_access_log.referer is '請求**'
; comment on column public.tbl_nginx_access_log.request_param is '請求引數'
;
後台服務小點
很多東西本來就存在,只是自己不懂,記錄在此,以便日後複習唄。今天碰到乙個問題就是專案中的靜態頁面是分開的,比如當面部落格頁面,它的頭是單獨的乙個html檔案,而下來的內容又是另外乙個,從專案本身以及在布置到伺服器上都沒有發現拼裝過程,於是好奇之,這是為啥呢,原來nginx早已具有這樣的功能,就是ss...
Linux 後台服務
方法一 fork方式 1.fork乙個子程序,父程序退出,子程序成為孤兒程序,被init程序接管 2.呼叫setsid建立新的程序會話 3.將當前工作目錄切換到根目錄 4.將標準輸入,輸出,出錯重定向到 dev null linux後台程序,fork方式 include include includ...
Mac 後台服務
mac 的後台服務通過launchctl工具實現 也可以使用linux下的crontab 但官方建議使用launchctl。使用launchctl非常簡單,根據需要編寫plist指令碼即可。plist指令碼存放路徑為 library launchdaemons或 library launchagen...