nginx:在指令的“localhost:8004”中找不到主机

我正在开发一个使用nginxgunicorndjango驱动的应用程序。 一切都很好,直到今天,我试图重新启动nginx失败。 所以我用sudo nginx -t命令testing了这个错误。

 nginx: [emerg] host not found in "localhost:8004" of the "listen" directive in /etc/nginx/sites-enabled/808:2 nginx: configuration file /etc/nginx/nginx.conf test failed 

这是808configuration文件的内容:

 server { listen localhost:8004; error_log /var/www/html/burger808/error.log; location / { proxy_pass http://127.0.0.1:8005; proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Real-IP $remote_addr; add_header P3P 'CP="ALL DSP COR PSAa PSDa OUR NOR ONL UNI COM NAV"'; } location /static/ { autoindex on; alias /var/www/html/burger808/burger808/static/; } location /media/ { autoindex on; alias /var/www/html/burger808/burger808/media/; } } 

我认为这可能是8004端口有些冲突。 所以我查了其他congfig文件,没有冲突。

我不知道可能会导致这个错误?

没有必要的localhost:8004 。只需localhost:8004

 listen 8004; 

这个聪明的答案是我的解决方案

我假设你正在运行一个Linux,并且你正在使用gEdit来编辑你的文件。 在/etc/nginx/sites-enabled ,可能会留下一个临时文件,例如default~ (注意~ )。 删除这个文件,它会解决你的问题。