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

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

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

第一条写明了配置文件中已经指定了 user 为 nginx ;
第三条已经指明了服务运行后 master 进程用户是 root ,worker 进程用户是 nginx ;
配置文件的权限不存在问题,不在这个帖子讨论范围。发帖的目的只是请教 nginx 的 logs 目录及其 access.log 、error.log 文件的所有权问题。
239 天前
回复了 xarthur 创建的主题 macOS CursorUIViewService 导致系统卡顿
这是个什么东西?我今天偶然看活动监视器,发现这东西内存占用 2.28G ,还是一直处于黄色的(未响应)状态...
246 天前
回复了 Blankspacee 创建的主题 Apple 笔记软件 Upnote 价格
这个没科学上网就不能用很伤,就现在这情况下,每年开大会或者有什么重要事件,各机场都会抽风,而且正常情况下也不能保证 7×24×365 不中断。万一跟语雀一样,正好要急用的时候无法科学上网,可就太麻烦了。更何况未来会变什么样也没法预料。所以不敢用这种得科学才能用的笔记。
之前有过答题,只要网页一失焦就直接提示重新来了...
@march1993 不过这个我确实换了 9.5p1 版本的 openssh 就可以了,而且 9.6p1 版本的 release 里面确实有提到这个。Reddit 上也有关于这个的讨论。
更深的原理就不懂了,能用就行了...
@march1993 貌似提不了 issue 呢,官方的公告说了这是为了修复漏洞,不光是中文字符,连一些字符比如空格都给禁用了,估计不好办。
@march1993 感谢老哥,我发到 macOS 区了,https://www.v2ex.com/t/1026819 ,是最近 openssh 升级漏洞导致的,从 9.6p1 开始禁止 hostname 中使用特殊字符了。用 homebrew 安装了 openssh 9.5p1 问题解决了。纠结以后怎么办。
你这个 Windows 是什么版本?这个函数问题之前出现在 Windows-Windows 上,是组策略里加密方式的设置问题。这个看着也像。相似的有个其它问题,我用 Mac 的 jumpdesktop 连不上 Ubuntu 的远程桌面,用其它几个 RDP 协议的客户端可以。应该是类似的原因。
@Yadomin 感谢老哥提供思路,尝试了下确实是这个问题,以下是 openssh 的更新记录,高亮部分提到的应该是影响 hostname 中含中文的情况:

https://i.imgur.com/1Z5qo28.jpeg

使用 homebrew 安装了 9.5p1 版本的 openssh ,恢复正常。

https://i.imgur.com/8x9qusZ.jpeg

感觉这个改动影响挺大的,包括 Reddit 上也有老外反馈,使用 `a human readable Host like "Web Host A - Client Name"` 这种的也不行了。

哎不知道以后咋搞。
@drymonfidelia 其实我倒是也很少直接在终端里输入中文 hostname 连,只是管理起来方便,用自动补全、历史命令之类的,很快就能补出目标主机,很是方便。还有就是使用 vscode 的时候输中文连接比较方便。还有就是 Windows 下也一样很方便。主要是管理的服务器太多了...
@drymonfidelia hostname 随便起啊,对于 ssh config 来说就是个 tag ,不影响远端服务器本身信息。
1  2  3  4  5  6  7  8  9  10 ... 22  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2621 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 23ms · UTC 10:43 · PVG 18:43 · LAX 02:43 · JFK 05:43
Developed with CodeLauncher
♥ Do have faith in what you're doing.