nginx.conf中有关访客日志定义如下

#log_format #创建日志格式,名为mainlog_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';#access_log #设置日志格式为mainaccess_log logs/access.log main;  

参数解释

$remote_addr :记录访问网站的客户端IP地址
$remote_user :记录远程客户端用户名称
$time_local :记录访问时间与时区
$request :记录用户的 http 请求起始行信息(请求方法,http协议)
$status :记录 http 状态码,即请求返回的状态,例如 200 、404 、502 等
$body_bytes_sent :记录服务器发送给客户端的响应 body 字节数
$http_referer :记录此次请求是从哪个链接访问过来的,可以根据 referer 进行防盗链设置
$http_user_agent :记录客户端访问信息,如浏览器、手机客户端等
$http_x_forwarded_for :当前端有代理服务器时,设置 Web 节点记录客户端地址的配置,此参数生效的前提是代理服务器上也进行了相关的 x_forwarded_for 设置

备注:
$remote_addr 可能拿到的是反向代理IP地址
$http_x_forwarded_for 可以获取客户端真实IP地址

#当你的nginx访客日志,需要记录更多的client请求信息,你可以来这里找,添加更多的变量,加入到如下的日志格式化参数中

https://nginx.org/en/docs/

https://nginx.org/en/docs/http/ngx_http_core_module.html#var_remote_addr

关闭日志功能

有时候在代理服务器上,转发服务器上,nginx日志可能不用记录,节省磁盘IO的资源http {    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  /var/log/nginx/access.log  main; #注释设置日志    access_log off;  #关闭日志}

单个虚拟机,独立设置日志

写在各自的虚拟主机的配置文件中:# log_format 这个参数和server{}平级# 创建的日志格式名每个虚拟主机都要不同,也不能跟主配置文件的相同# [main2]日志格式名不能带符号log_format  main2  '$document_uri  $remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for"';server {    # 开启日志功能,以及存放路径,access_log参数写在server{}内    access_log  /var/log/nginx/dnf.linux0224.cc.access.log  main2;    listen 80;    server_name dnf.linux0224.cc; # 这里写的是域名        charset utf-8;    location /  {        root  /www/dnf/;        index  index.html;    }}

#单独设置日志后,nginx.conf配置文件的日志设置就不对此生效了,其他没有单独设置日志的虚拟主机依然生效错误日志

开启error级别的错误日志
# 单独给的虚拟主机设置错误日志,eroor级别 ,配置如下# 支持写入http{} server{}log_format main2
'$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';server { access_log /var/log/nginx/lol.linux0224.cc.access.log main2; error_log /var/log/nginx/lol-error.log error; #设置error级别日志保存的文件路径   listen 80; server_name lol.linux0224.cc; charset utf-8; location / { root /www/lol/; index index.html; }}

错误页面优化,error_page模块

支持写在http{} server{}下,跟单独设置日志机制相互作用# error_page  响应状态码    相对路径的html文件/ 填入url ; error_page 404             /404.html;  #支持静态文件以及URLerror_page 500 502 503 504 /50x.html; #支持静态文件以及URL

此页面的语言为英语翻译为中文(简体)

  • 中文(简体)
  • 中文(繁体)
  • 丹麦语
  • 乌克兰语
  • 乌尔都语
  • 亚美尼亚语
  • 俄语
  • 保加利亚语
  • 克罗地亚语
  • 冰岛语
  • 加泰罗尼亚语
  • 匈牙利语
  • 卡纳达语
  • 印地语
  • 印尼语
  • 古吉拉特语
  • 哈萨克语
  • 土耳其语
  • 威尔士语
  • 孟加拉语
  • 尼泊尔语
  • 布尔语(南非荷兰语)
  • 希伯来语
  • 希腊语
  • 库尔德语
  • 德语
  • 意大利语
  • 拉脱维亚语
  • 挪威语
  • 捷克语
  • 斯洛伐克语
  • 斯洛文尼亚语
  • 旁遮普语
  • 日语
  • 普什图语
  • 毛利语
  • 法语
  • 波兰语
  • 波斯语
  • 泰卢固语
  • 泰米尔语
  • 泰语
  • 海地克里奥尔语
  • 爱沙尼亚语
  • 瑞典语
  • 立陶宛语
  • 缅甸语
  • 罗马尼亚语
  • 老挝语
  • 芬兰语
  • 英语
  • 荷兰语
  • 萨摩亚语
  • 葡萄牙语
  • 西班牙语
  • 越南语
  • 阿塞拜疆语
  • 阿姆哈拉语
  • 阿尔巴尼亚语
  • 阿拉伯语
  • 韩语
  • 马尔加什语
  • 马拉地语
  • 马拉雅拉姆语
  • 马来语
  • 马耳他语
  • 高棉语



TRANSLATE with x English

ArabicHebrewPolish
BulgarianHindiPortuguese
CatalanHmong DawRomanian
Chinese SimplifiedHungarianRussian
Chinese TraditionalIndonesianSlovak
CzechItalianSlovenian
DanishJapaneseSpanish
DutchKlingonSwedish
EnglishKoreanThai
EstonianLatvianTurkish
FinnishLithuanianUkrainian
FrenchMalayUrdu
GermanMalteseVietnamese
GreekNorwegianWelsh
Haitian CreolePersian

TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE <input type="text" name="EmbedSnippetTextBox" value="

setTimeout(function(){var s=document.createElement(‘script’);s.type=’text/javascript’;s.charset=’UTF-8′;s.src=((location && location.href && location.href.indexOf(‘https’) == 0)?’https://ssl.microsofttranslator.com’:’http://www.microsofttranslator.com’)+’/ajax/v3/WidgetV3.ashx?siteData=ueOIGRSKkd965FeEGM5JtQ**&ctf=true&ui=true&settings=manual&from=en’;var p=document.getElementsByTagName(‘head’)[0]||document.documentElement;p.insertBefore(s,p.firstChild); },0);” readonly=”readonly”>Enable collaborative features and customize widget: Bing Webmaster PortalBack