我正在尝试使用该命令重新启动 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/
。