【问题标题】:How do you restart logging after deleting an NGINX log?删除 NGINX 日志后如何重新启动日志记录?
【发布时间】:2015-07-04 03:50:56
【问题描述】:

我删除了我的 NGINX 日志,因为它非常大,我认为 NGINX 会自动创建一个新日志来代替它。它没有,现在我没有日志。该文件以前位于/opt/nginx/logs/error.log。我尝试在同一位置创建具有相同权限的新文件,但似乎没有帮助。我在 ubuntu 12.10 服务器上运行 nginx/1.4.7。

如何恢复我的日志记录?

我试过sudo service nginx restart,它说nginx: unrecognized service。我认为这可能是因为我正在使用 NGINX 和 Phusion Passenger 来为 Rails 应用程序提供服务,而 Passenger 已经改变了一些东西。例如,NGINX 位于 /opt/nginx 而不是 init.d

【问题讨论】:

  • 要清楚,您实际上并不关心恢复 Nginx 日志...您只需要一个日志文件。一个空白。对吗?
  • 正确,我会更新问题

标签: logging nginx passenger


【解决方案1】:

这里是乘客作者。

重启 Nginx 实际上让日志文件回来。只是你没有使用正确的方法重启 Nginx,因为你的 Nginx 安装是从源安装的。

初始化脚本,例如/etc/init.d/nginxservice nginx restart,默认 Nginx 源代码不提供。初始化脚本实际上是操作系统的 Nginx 包提供的扩展。如果你从源代码安装 Nginx,那么你就不能再使用 init 脚本来控制 Nginx。相反,您将使用更通用的操作系统原语来控制 Nginx,例如 PID 文件和信号。 Learn more at the Passenger documentation.

重启 Nginx 是通过向它发送信号并通过 Nginx 命令再次启动它来完成的。例如:

sudo kill $(cat /opt/nginx/logs/nginx.pid)
sudo /opt/nginx/sbin/nginx

要了解有关重新启动从源安装的 Nginx 的更多信息,请阅读this part of the Passenger documentation

【讨论】:

  • 如果运行 nginx 你使用 /opt/nginx 目录,所以 sudo /opt/nginx/sbin/nginx -s quit 是首选,因为pid 可以在不同的地方,取决于配置
猜你喜欢
  • 1970-01-01
  • 2022-10-14
  • 1970-01-01
  • 1970-01-01
  • 2018-06-05
  • 1970-01-01
  • 1970-01-01
  • 2017-01-14
  • 1970-01-01
相关资源
最近更新 更多