“configuration file /etc/nginx/nginx.conf test failed”:我怎么知道为什么会发生这种情况?

wfypjpf4  于 12个月前  发布在  Nginx
关注(0)|答案(6)|浏览(163)

我是一个nginx新手,正在ubuntu 12.04上的nginx 1.1.19上尝试这个this教程。我有this nginx配置文件。
当我运行这个命令时,测试失败:

$ sudo service nginx restart
Restarting nginx: nginx: [crit] pread() "/etc/nginx/sites-enabled/csv" failed (21: Is a directory)
nginx: configuration file /etc/nginx/nginx.conf test failed

字符串
我怎么知道nginx.conf测试失败的原因?

y53ybaqx

y53ybaqx1#

sudo nginx -t应测试所有文件并返回错误和警告位置

rhfm7lfc

rhfm7lfc2#

这个特殊的命令对我很有效。sudo apt-get remove --purge nginx nginx-full nginx-common
sudo apt-get install nginx
这是对stackexchnage的回答

yks3o0rb

yks3o0rb3#

第一个解决方案是使用基本的

sudo nginx -t

字符串
其次,如果你自己修改了文件,将json从一个文件复制/粘贴到另一个文件,那么很有可能存在编码问题。
例如:"不等于

``


尝试自己编写配置。检查逗号,冒号和大括号。不要忘记重新加载nginx。

sudo systemctl reload nginx

hmae6n7t

hmae6n7t4#

如果你想检查任何nginx文件的语法错误,你可以使用-c选项。

[root@server ~]# sudo nginx -t -c /etc/nginx/my-server.conf
nginx: the configuration file /etc/nginx/my-server.conf syntax is ok
nginx: configuration file /etc/nginx/my-server.conf test is successful
[root@server ~]#

字符串

jgwigjjp

jgwigjjp5#

一个原因可能是路径/var/log/nginx/不存在。在我的情况下,有人删除了该路径的一部分,/var/log/nginx/error.log无法填充。当我恢复路径时,我能够清除所有测试(使用sudo nginx -t -c /etc/nginx/nginx.conf检查)并再次启动nginx。

rxztt3cl

rxztt3cl6#

显示文件和跟踪错误

systemctl status nginx.service

字符串

相关问题