Ubuntu Server 22.04 系统
使用 nginx 官方 apt 源安装
- 默认配置文件中的用户是
user nginx;。 - systemd 服务的配置文件中未指定服务的运行用户及组。
- nginx 服务启动后,
master进程用户是root,worker进程用户是nginx。 - 生成的日志文件在
/var/log/nginx/路径下,目录的属主和属组是root root, 自动生成的access.log等日志文件的属主和属组是nginx adm。
使用源码包编译安装
- nginx 配置文件和 systemd 配置文件中用户的部分和使用 apt 源安装的情况是一样的。
- nginx 服务启动后,进程的用户和 apt 源安装后的情况是一样的。
- 生成的
logs日志目录在 nginx 程序目录,权限是root root,里面自动生成的access.log等日志文件的属主和属组是root root,但是权限是644,nginx 可以正常写入日志。
想知道为什么编译安装的 nginx 生成的日志,属主和属组为什么会是 root?
如何才能让其生成的 log 文件是 nginx 用户?
因为涉及到日志的处理等问题,如果日志文件的属主是 root,处理起来会很麻烦。