nginx配置报错unknown directive " "解决方案

nginx配置时,用原来再另外一个服务器上做的配置,完全一模一样的照搬过来,unknown directive " " in /etc/nginx/conf.d/xwmh-9006.conf:2

这就让我很疑惑了,于是在网上各种百度,总算看到一个哥子给了很好的解决方案,这里做一下记录, 主要原因是编码问题,我是直接在服务器里面vi xx.conf生成的conf文件,正确的方式是在本地先编辑conf文件,然后用ftp上传到服务器,注意编码要用utf-8;

编辑配置如下:

upstream yby{
 server 127.0.0.1:9030;
}
server{
 listen 80;
 server_name yby.xxx.edu.cn;


location / {
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forward-For $proxy_add_x_forwarded_for;
  proxy_set_header Host $http_host;
  proxy_set_header X-Nginx-Proxy true;
 
 
  proxy_pass http://yby;
  proxy_redirect off;
 }
}

编辑完毕 ,nginx -t 显示successfun ok!

如果你表示修改为UTF-8格式后依然上述的那个错误,我建议的就是检查配置中的空格,因为nginx.conf配置非常严格,空格符如果是tab也会报错,上述两个访问应该可以彻底解决这个问题;

本以为就此问题解决,然后后面执行nginx -s reload时,报错

 

nginx: [error] invalid PID number "" in "/run/nginx.pid"

百度搜了一下好像是端口80端口已经在监听状态,

于是乎用命令

lsof -i:80

查看哪些在监听80端口,然后再进行命令 kill -9 pid 依次干掉监听的进程,重新执行nginx -s reload 问题解决

如果还是不行的话,就要执行

nginx -c /etc/nginx/nginx.conf

nginx -s reload搞定


版权声明:本文为Min_Chander原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。