Windows下非守护进程模式Nginx如何将日志输出到控制台?
Windows版Nginx把error_log输出到控制台的方法
先明确:说Windows版Nginx完全不支持日志输出到控制台,这个说法不全对——旧版本(1.19.0之前)确实不行,但1.19.0及以后的新版本已经支持了,下面给你具体操作方法:
1. 先确认Nginx版本
得用1.19.0及以上版本的Windows版Nginx,这是实现控制台日志的前提,低版本没有这个功能。
2. 正确配置日志输出
把error_log输出到控制台
在nginx.conf的全局区域(http块外面),添加或修改error_log的配置:
error_log con: warn;
这里的con:就是Windows系统中指向控制台的特殊设备标识,后面的warn是日志级别,你可以根据需求换成debug、info、error等。
若需同时输出access_log到控制台
同样用con:配置即可,比如:
access_log con: main;
你配置里已经定义了log_format main,直接套用就行。
3. 必须注意的细节
- 你配置里的
daemon off;一定要保留!只有Nginx以前台模式运行时,控制台才能显示日志,要是开启守护进程模式,控制台会屏蔽日志输出。 - 修改配置后,先执行
nginx -t检查配置是否合法,确认无误后重启Nginx生效。 - 如果你用的是低于1.19.0的旧版本Nginx
只能用变通方案:启动Nginx后,实时把日志文件内容输出到控制台。比如用PowerShell命令:
或者安装Git Bash后用Get-Content logs/error.log -Waittail命令:tail -f logs/error.log
关于“Windows版Nginx不支持日志输出到控制台”的说法
这个说法是针对旧版本的情况,新版本已经补上了控制台日志输出的功能,只要你版本达标、配置正确,就能实现需求。
内容的提问来源于stack exchange,提问作者Abhishek-M
相关产品推荐
相关产品推荐

