我是一名nginx noob,在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测试失败的原因?
答案 0 :(得分:138)
sudo nginx -t
应测试所有文件并返回错误和警告位置
答案 1 :(得分:7)
这个特殊的命令对我有用。
sudo apt-get remove --purge nginx nginx-full nginx-common
和
sudo apt-get install nginx
在stackexchnage上获得此答案的信用
答案 2 :(得分:0)
如果要检查任何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 ~]#
答案 3 :(得分:0)
第一个方案是使用basic测试nginx conf
sudo nginx -t
其次,如果您自己更改了文件,将 json 从一个复制/粘贴到另一个,则很有可能存在编码问题。
例如:"
与
``
尝试自己编写配置。检查逗号、冒号和大括号。不要忘记重新加载nginx。
sudo systemctl reload nginx
答案 4 :(得分:-1)
显示文件和跟踪错误
systemctl status nginx.service
答案 5 :(得分:-1)
遇到了类似的问题。
cp nginx.conf.default nginx.conf
nginx -s stop & nginx
nano nginx.conf
include /usr/local/etc/nginx/sites-enabled/custom_nginx.conf;
(包含服务器/*;
nginx -s stop & nginx