GoodRui 最近的时间轴更新
GoodRui
ONLINE

GoodRui

V2EX 第 284878 号会员,加入于 2018-01-20 22:54:20 +08:00
今日活跃度排名 2062
GoodRui 最近回复了
3 小时 0 分钟前
回复了 qingbaihe 创建的主题 ? Linux ? Ubuntu 和 Debian 都有糟点
@son012 netplan 为什么是槽点?

关于无网络时开机卡 2 分钟等待的问题,可以有几个解决办法,我目前使用的是在网卡中配置 optional: true 选项,使该网卡为可选,遇到错误直接跳过。这样开机的时候网卡网络连接失败时会直接跳过,也就不会出现 a start job is 吧啦吧啦等 2 分钟的情况。
4 小时 28 分钟前
回复了 GoodRui 创建的主题 ? NGINX ? 有关 nginx 日志权限的问题请教各位大佬
@retanoj 哦哦谢谢老哥,刚没看到你#16 的回复。如果你这楼说的是对的,那就明白了。我删了 apt 源安装的 nginx 的 log 文件,重启 nginx ,重新生成的 log 文件 owner 确实成了 root root 。那貌似是个无解的问题...
4 小时 40 分钟前
回复了 GoodRui 创建的主题 ? NGINX ? 有关 nginx 日志权限的问题请教各位大佬
@retanoj 是啊,非特权用户不能改,那 worker 进程的用户是 nginx ,为什么能呼呼得写入日志呢?
4 小时 45 分钟前
回复了 GoodRui 创建的主题 ? NGINX ? 有关 nginx 日志权限的问题请教各位大佬
@retanoj 我是看了有一些类似的相关反馈和讨论,但是没有找到有解决办法。
而且我很纳闷,为什么这个问题没很多讨论和关注呢?难道大家都是 root 用户一把梭的吗?
5 小时 3 分钟前
回复了 GoodRui 创建的主题 ? NGINX ? 有关 nginx 日志权限的问题请教各位大佬
@retanoj 换是什么意思 /手动笑哭
在写业务系统的部署脚本,离线部署,有几个公司自己开发的 nginx 模块,换是不可能换的了...要从 centos 换到 Ubuntu ,而且要求规范部署方式,加强安全。以前 centos 都是 root 用户一把梭,所有程序都是 root 起,所有文件都是 root root ,没这档子事...
5 小时 19 分钟前
回复了 GoodRui 创建的主题 ? NGINX ? 有关 nginx 日志权限的问题请教各位大佬
@adoal “apt 安装的善后脚本” 是不是只能在安装完成后才能被调用一次?那为什么我两种方法安装的 nginx ,都删除日志文件后,sudo systemctl stop/start nginx ,重启 nginx 让它重新创建日志文件,创建出的文件还是和原来的情况一样呢?即 apt 安装的 nginx ,自动创建的日志是 nginx:adm ;编译安装的 nginx ,自动创建的日志是 root:root 。
5 小时 24 分钟前
回复了 GoodRui 创建的主题 ? NGINX ? 有关 nginx 日志权限的问题请教各位大佬
@retanoj 感谢大佬,贴子里说的情况好像很有理。
那问题来了,我现在用的最新的稳定版 1.26.0 ,那这个问题是无解了吗...那可要了命了
5 小时 29 分钟前
回复了 GoodRui 创建的主题 ? NGINX ? 有关 nginx 日志权限的问题请教各位大佬
@dier 感谢~

以下是使用 apt 源安装时自动配置为 systemd 服务的配置文件
```ini
[Unit]
Description=nginx - high performance web server
Documentation=https://nginx.org/en/docs/
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking
PIDFile=/var/run/nginx.pid
ExecStart=/usr/sbin/nginx -c /etc/nginx/nginx.conf
ExecReload=/bin/sh -c "/bin/kill -s HUP $(/bin/cat /var/run/nginx.pid)"
ExecStop=/bin/sh -c "/bin/kill -s TERM $(/bin/cat /var/run/nginx.pid)"

[Install]
WantedBy=multi-user.target
```

以下是编译安装时使用的手写 systemd 服务的配置文件

```ini
[Unit]
Description=Nginx
After=network-online.target remote-fs.target nss-lookup.target
Wants=network-online.target

[Service]
Type=forking


PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPre=/usr/local/nginx/sbin/nginx -t
ExecStart=/usr/local/nginx/sbin/nginx
# 用于防止出现 pid 文件读取错误,这是个官方 bug
ExecStartPost=/bin/sleep 0.1

ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s TERM $MAINPID

# 是否使用私有的 tmp 目录
PrivateTmp=true

# 重启策略
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target
```

难道是 PrivateTmp=true 这个设置缓存目录为私有这个配置有问题吗?
5 小时 35 分钟前
回复了 GoodRui 创建的主题 ? NGINX ? 有关 nginx 日志权限的问题请教各位大佬
@retanoj 好吧怪我,把源码安装的情况简写了。
编译安装后
1. nginx.conf 中指定的 user 为 nginx ,与用 apt 源安装时的配置文件中一致。
2. systemd 服务配置中,未指定 User 和 Group ,与用 apt 源安装的情况下的 systemd 配置文件情况一致。

nginx 启动及工作都正常,没问题,本帖讨论的仅仅是 《生成的 log 日志文件为什么属主和属组不一样》的问题。因为这牵扯到第三方程序处理 nginx 日志。
5 小时 42 分钟前
回复了 GoodRui 创建的主题 ? NGINX ? 有关 nginx 日志权限的问题请教各位大佬
@qingbaihe 感谢,编译安装时,nginx 用户已经手动创建,和 apt 源安装创建的 nginx 用户都是一样的。
nginx:x:998:998:nginx user:/nonexistent:/usr/sbin/nologin
服务运行没有任何问题,本帖主要是想讨论这两种方法,程序生成的 log 文件的属主和属组为什么不一样的问题。

因为这牵扯到非 nginx 程序本身的,nginx 日志处理问题。比如说用第三方程序分割、归档、检索 nginx 日志。
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3084 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 21ms · UTC 12:28 · PVG 20:28 · LAX 05:28 · JFK 08:28
Developed with CodeLauncher
? Do have faith in what you're doing.


http://www.vxiaotou.com