重新启动 nginx 时出错

重新启动 nginx 时出错

我正在尝试使用该命令重新启动 nginx systemctl restart nginx,但无法做到这一点。

错误

nginx.service 的作业失败,因为控制进程退出并显示错误代码。有关详细信息,请参阅“systemctl status nginx.service”和“journalctl -xe”。不断出现此错误。

然后我输入了systemctl status nginx.service,得到了这个

    systemctl status nginx.service
● nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Sun 2018-02-11 22:19:23 UTC; 12s ago
  Process: 25401 ExecStop=/sbin/start-stop-daemon --quiet --stop --retry QUIT/5 --pidfile /run/nginx.pid (code=exited, status=0/SUCCESS)
  Process: 18943 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
  Process: 27943 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)
 Main PID: 18947 (code=exited, status=0/SUCCESS)

你能告诉我发生了什么吗?我正尝试从 Namecheap 在 nginx 上设置 SSL,这时发生了这一切。对此我已经有一个问题这里

更新:nginx -t我使用了出现以下消息的命令。

nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2018/02/12 05:46:36 [warn] 29804#29804: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2018/02/12 05:46:36 [emerg] 29804#29804: open() "/etc/nginx/sites-enabled/nano.save" failed (13: Permission denied) in /etc/nginx/nginx.conf:62
nginx: configuration file /etc/nginx/nginx.conf test failed

答案1

查看你的日志文件以确保无误,但我的猜测是 nginx 会尝试加载这个 nano 备份文件:

/etc/nginx/sites-enabled/nano.save

很可能它包含一些不完整的指令,导致语法错误。

据我所知,man nano此文件是在 nano 异常关闭时生成的:

在某些情况下,nano 会尝试将缓冲区转储到紧急文件中。这主要发生在 nano 收到 SIGHUP 或 SIGTERM 或内存不足时。如果缓冲区还没有名称,它会将缓冲区写入名为 nano.save 的文件中,或者在当前文件名中添加“.save”后缀。

删除这个文件就可以了。

为了防止将来出现这种情况,请不要编辑 中的文件/etc/nginx/sites-enabled/,而应编辑 中的文件/etc/nginx/sites-available//etc/nginx/sites-enabled/应该只包含指向 中的文件的符号链接/etc/nginx/sites-available/

相关内容