nginx 错误日志很大,所以我删除并创建了一个新的,现在 nginx 无法启动

nginx 错误日志很大,所以我删除并创建了一个新的,现在 nginx 无法启动

我删除了/var/log/nginx/error.log文件,然后使用以下命令创建一个新文件:

sudo nano error.log

这样做ls -la表明错误日志访问日志具有相同的权限。

当我尝试启动 nginx 时出现错误:

警报:无法打开错误日志文件:open()“/var/log/nginx/error.log”权限未得到批准。

更新

当尝试启动 nginx 时,我还看到:

紧急:/var/run/nginx.pid 失败 13:权限被拒绝。

答案1

这并不能解决你的问题,但是将来如果你这样做

cat /dev/null > /file/你/想要/删除

您将复制文件的内容(不包含任何内容),并且保留所有权限。

并非特定于 nginx,但另外,请确保您以应运行该应用程序的用户身份运行它。如果您曾以 root 身份运行它,则所有权限都将归 root 所有,因此其他用户将无法运行它。

答案2

使用 NginX 轮换日志的常用方法是重命名文件,然后/etc/init.d/nginx reload。服务器将启动一个新文件,您可以对旧文件执行您想做的事情。

您可能还会发现编辑配置以减少记录太多内容很有用......

答案3

查看 nginx 配置,检查服务器以谁的身份运行 - 猜测用户是 nginx

所以 :

chown nginx: /var/run/nginx.pid chown -R nginx: /var/log/nginx

应该可以奏效。

答案4

删除error.log文件,nginx会自行创建该文件。

相关内容