国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Nginx > 正文

nginx可以自動創建log文件嗎?

2024-08-30 12:23:52
字體:
來源:轉載
供稿:網友
  nginx自動切割訪問日志
  Web 訪問日志 (access_log) 記錄了所有外部客戶端對Web服務器的訪問行為,包含了客戶端IP,訪問日期,訪問的URL資源,服務器返回的HTTP狀態碼等重要信息。
  一條典型的Web訪問日志如下:
  112.97.37.90 - - [14/Sep/2013:14:37:39 +0800] "GET / HTTP/1.1" 301 5 "-" "Mozilla/5.0 (Linux; U; Android 2.3.6; zh-cn; Lenovo A326 Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1 MicroMessenger/4.5.1.259" -


 
  規劃:
  1、 要解決問題:
  當網站訪問量大后,日志數據就會很多,如果全部寫到一個日志文件中去,文件會變得越來越大。文件大速度就會慢下來,比如一個文件幾百兆。寫入日志的時候,會影響操作速度。另外,如果我想看看訪問日志,一個幾百兆的文件,下載下來打開也很慢。使用第三方免費的日志分析工具-日志寶,可以上傳nginx、apache、iis的日志文件,它們幫助分析網站安全方面。畢竟專攻,更加專業。日志寶對上傳的文件也是做了大小限制的,不超過50m。
  2、nignx沒有自動分開文件存儲日志的機制。由于nginx它不會幫你自動分文件保存。所以,需要自己編寫腳本來實現。
  shell腳本文件nginx_log_division.sh內容如下:
  # /bin/bash
  logs_path="/data/wwwlogs/"
  #以前的日志文件。
  log_name="xxx.log"
  pid_path="/usr/local/nginx/logs/nginx.pid"
  mv ${logs_path}${log_name} ${logs_path}${log_name}_$(date --date="LAST WEEK" +"%Y-%m-d").log
  kill -USR1 `cat ${pid_path}`
  上面shell腳本的原理是:先把以前的日志文件移動重命名成一個,目的是就是備份。
  按照上個周一的本日來命名,運行腳本的時候時間點是”2013-09-16”,那么生成文件名稱是”xxx.log_ 20130909.log”。
  在沒有執行kill -USR1 `cat ${pid_path}`之前,即便已經對文件執行了mv命令而改變了文件名稱,nginx還是會向新命名的文件” xxx.log_ 20130909”照常寫入日志數據的。原因在于:linux系統中,內核是根據文件描述符來找文件的。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙雅县| 通化县| 长垣县| 金华市| 唐海县| 澜沧| 家居| 晋城| 股票| 灌阳县| 阿尔山市| 安图县| 澎湖县| 平潭县| 汨罗市| 永兴县| 兴隆县| 台北市| 阿巴嘎旗| 和硕县| 博爱县| 京山县| 平定县| 金溪县| 夏津县| 沙洋县| 抚顺县| 武鸣县| 山东省| 十堰市| 巴南区| 石城县| 阿城市| 西藏| 鸡泽县| 宜城市| 防城港市| 张掖市| 阳曲县| 鄱阳县| 永安市|