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
Arabic | Hebrew | Polish |
Bulgarian | Hindi | Portuguese |
Catalan | Hmong Daw | Romanian |
Chinese Simplified | Hungarian | Russian |
Chinese Traditional | Indonesian | Slovak |
Czech | Italian | Slovenian |
Danish | Japanese | Spanish |
Dutch | Klingon | Swedish |
English | Korean | Thai |
Estonian | Latvian | Turkish |
Finnish | Lithuanian | Ukrainian |
French | Malay | Urdu |
German | Maltese | Vietnamese |
Greek | Norwegian | Welsh |
Haitian Creole | Persian |
TRANSLATE with COPY THE URL BELOW Back EMBED THE SNIPPET BELOW IN YOUR SITE <input type="text" name="EmbedSnippetTextBox" value="