使用守护程序模式生根日志文件

Posted

技术标签:

【中文标题】使用守护程序模式生根日志文件【英文标题】:Rooting log files with daemon mode 【发布时间】:2018-03-21 11:34:36 【问题描述】:

我正在使用 mod_wsgi (v.4.5.20),通过 pip 安装,在守护程序模式下,使用“主”apache 实例作为前端(反向代理)。我正在为 django 应用程序提供服务,“主”服务器托管其他一些应用程序。

我想将日志文件记录到“已知”目录中。目前,日志文件被记录到由 daemon-mode 生成的目录中,也就是。 --server-root 目录。该进程通过 systemd 服务启动。

在“主要”apache 设置中,我已将 ErrorLogCustomLog 指令设置为我的“想要”日志目录,但没有记录任何文件。

“主要”apache 设置:(注意公司反向代理的 X-Forwarded-For 开关)

https://gist.github.com/frague59/0c9717bd5668140de392019874373f0a

感谢您的帮助!

【问题讨论】:

【参考方案1】:

当您在作为代理的前端 Apache 后面使用 mod_wsgi-express 时,mod_wsgi-express 配置完全独立于前端。如果您想更改 mod_wsgi-express 的日志位置,请使用 --log-directory 选项。假设mod_wsgi-express 以非root 用户身份启动,它将无法写入root 拥有的目录。如果需要,您需要将其作为root 启动并定义--user--group 选项,然后作为您希望WSGI 应用程序运行的用户和组。因为它最初以root 开头,所以它可以将日志写入root 拥有的目录。使用 --help 选项运行 mod_wsgi-express 以查看所有命令行选项。

【讨论】:

感谢 Graham,我没有看到 --log-directory 选项。

以上是关于使用守护程序模式生根日志文件的主要内容,如果未能解决你的问题,请参考以下文章

linux 如何将守护进程的日志写到自己指定的日志文件

Linux命令

浅谈Linux下的syslog守护进程

将进程设置为守护进程

linux中日志的管理

Ubuntu查看和写入系统日志