我是一个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测试失败的原因?
6条答案
按热度按时间y53ybaqx1#
sudo nginx -t
应测试所有文件并返回错误和警告位置rhfm7lfc2#
这个特殊的命令对我很有效。
sudo apt-get remove --purge nginx nginx-full nginx-common
sudo apt-get install nginx
这是对stackexchnage的回答
yks3o0rb3#
第一个解决方案是使用基本的
字符串
其次,如果你自己修改了文件,将json从一个文件复制/粘贴到另一个文件,那么很有可能存在编码问题。
例如:
"
不等于型
尝试自己编写配置。检查逗号,冒号和大括号。不要忘记重新加载nginx。
型
hmae6n7t4#
如果你想检查任何nginx文件的语法错误,你可以使用-c选项。
字符串
jgwigjjp5#
一个原因可能是路径
/var/log/nginx/
不存在。在我的情况下,有人删除了该路径的一部分,/var/log/nginx/error.log
无法填充。当我恢复路径时,我能够清除所有测试(使用sudo nginx -t -c /etc/nginx/nginx.conf
检查)并再次启动nginx。rxztt3cl6#
显示文件和跟踪错误
字符串