V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  GoodRui  ›  全部回复第 1 页 / 共 20 页
回复总数  395
1  2  3  4  5  6  7  8  9  10 ... 20  
1 天前
回复了 GoodRui 创建的主题 NGINX 有关 nginx 日志权限的问题请教各位大佬
@adoal 首先,如果只是配置 logrotate 分割配置文件让它自动分割的话,所有的分割任务会被打散在凌晨 3:15~3:45 之间的随机时间点执行。我上面有提到这个对于我们的业务来说是不适用的。我们要求必须 0:00~23:59 为一个天日志。所以我们现在目前都是使用定时任务调用 logrotate 执行,精确控制日志的起始时间节点。
其次,logrotate 的分割任务配置文件中可以指定该任务运的运行用户,会影响分割出的日志文件 owner 和权限。如果这里指定的用户有问题,会导致分割失败,分割后应用程序无权限写入日志文件等问题。
1 天前
回复了 GoodRui 创建的主题 NGINX 有关 nginx 日志权限的问题请教各位大佬
@adoal 因为业务基本是按天强相关的,不管每天日志割出来是多少 G ,还是按天比较方便,如果按大小或者是每天分割多次,日志用起来会很麻烦。
2 天前
回复了 GoodRui 创建的主题 NGINX 有关 nginx 日志权限的问题请教各位大佬
@adoal 感谢~
貌似虽然权限有 bug ,但是用 logrotate 分割日志貌似也没什么影响...所以也不用纠结了...需要注意的好像就是 logrotate 的执行权限需要使用 root.
2 天前
回复了 GoodRui 创建的主题 NGINX 有关 nginx 日志权限的问题请教各位大佬
@adoal 因为开发把一些业务信息写入 error.log ,看用户的数据量,量大的用户一天一个 error.log 就几个 G 了...
2 天前
回复了 qingbaihe 创建的主题 Linux Ubuntu 和 Debian 都有糟点
@ysc3839 可以认为 netplan 只是个配置管理工具,它是给底层呈现——也就是 NetworkManager 或 networkd 生成配置的。所以 netplan 里是需要指定网络的渲染器是使用 NetworkManager 还是 netword 的。
2 天前
回复了 qingbaihe 创建的主题 Linux Ubuntu 和 Debian 都有糟点
@son012 netplan 为什么是槽点?

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

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

因为这牵扯到非 nginx 程序本身的,nginx 日志处理问题。比如说用第三方程序分割、归档、检索 nginx 日志。
2 天前
回复了 GoodRui 创建的主题 NGINX 有关 nginx 日志权限的问题请教各位大佬
@dier 感谢~
编译及安装是写了 shell 脚本,脚本的执行使用了 sudo 提权。脚本很简单,就是包含 tar 解压缩,/configure && make && make install 动作。

第一条写明了配置文件中已经指定了 user 为 nginx ;
第三条已经指明了服务运行后 master 进程用户是 root ,worker 进程用户是 nginx ;
配置文件的权限不存在问题,不在这个帖子讨论范围。发帖的目的只是请教 nginx 的 logs 目录及其 access.log 、error.log 文件的所有权问题。
5 天前
回复了 xarthur 创建的主题 macOS CursorUIViewService 导致系统卡顿
这是个什么东西?我今天偶然看活动监视器,发现这东西内存占用 2.28G ,还是一直处于黄色的(未响应)状态...
12 天前
回复了 Blankspacee 创建的主题 Apple 笔记软件 Upnote 价格
这个没科学上网就不能用很伤,就现在这情况下,每年开大会或者有什么重要事件,各机场都会抽风,而且正常情况下也不能保证 7×24×365 不中断。万一跟语雀一样,正好要急用的时候无法科学上网,可就太麻烦了。更何况未来会变什么样也没法预料。所以不敢用这种得科学才能用的笔记。
之前有过答题,只要网页一失焦就直接提示重新来了...
@march1993 不过这个我确实换了 9.5p1 版本的 openssh 就可以了,而且 9.6p1 版本的 release 里面确实有提到这个。Reddit 上也有关于这个的讨论。
更深的原理就不懂了,能用就行了...
1  2  3  4  5  6  7  8  9  10 ... 20  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2257 人在线   最高记录 6543   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 26ms · UTC 02:59 · PVG 10:59 · LAX 19:59 · JFK 22:59
Developed with CodeLauncher
♥ Do have faith in what you're doing.