以下内容均为原创,如需转载请注明出处。

  • 由于更换了新的 SVN 地址,所以必须在新的 SVN 地址上重新检出所有的项目至本地。
  • 因为之前都习惯用中文命名文件夹,这次就想尝试用英文命名。而且之前也听别人说 中文命名可能会导致某些问题
  • 命名的项目文件都会以文件路径的形式出现在 nginx conf 配置文件中,所以 建议用英文命名
  • 我一直都是使用中文命名的,使用半年了,也从来没出现过问题。
  • 于是,随手新建了一个名为 New Projects 的文件夹,用于存放从 SVN 地址新导出的几个项目。
  • 导出成功后,在 nginx conf 配置文件中,配置一下每个项目对应的文件路径。 【如图一所示】
  • 配置完成后,在文件资源管理器上方的地址栏中选中并复制自己本地 nginx 的存放路径。 【如图二所示】
  • 我的本地存放路径是 C:\Users\Administrator\Desktop\nginx-1.13.7
  • 然后 Ctrl + R 调出运行对话框,输入 cmd 并回车打开命令行。
  • 接下来,使用 cd 命令进入 nginx 的主目录中,即 cd C:\Users\Administrator\Desktop\nginx-1.13.7
  • 随后在命令行中输入 nginx -s reload 命令重启 nginx 【如图三所示】
    (因为更改配置文件之后必须需要重启 nginx 才能保证修改的配置生效)
  • 重启成功之后,就可以在浏览器中访问当前所配置好的项目了。

图三(以下是配置正确的情况)

nginx 重启之后,问题就出来了。 (如下图所示)

然后使用 nginx -t 命令来判断配置文件是否正确。发现问题依然定位在了配置文件的第 41 行。

nginx: [emerg] invalid number of arguments in "root" directive in C:\Users\Administrator\Desktop\nginx-1.13.7/conf/nginx.conf:41
/*大概意思就是:nginx在本地文件路径的配置文件中存在了错误,导致无法继续运行。
 *具体错误定位在了conf配置文件的第41行。
 *错误原因:“根”指令中存在无效数量的参数。
  • 总之就是提示第41行的配置文件出错了,出错的具体原因我也不清楚。
  • 因为我觉得是不可能出现问题的,总共就一行代码,而且文件路径也是正确的。
  • 首先就排除了中文命名导致的问题,因为自己以前一直使用中文命名,从未出错过。
  • 所以,肯定是其他的问题。但是我就是不知道为什么。(于是百度了一番,但并没有找到想要的答案)
  • 找到一个同样问题的答案,但最终的原因是代码末尾少写了一个分号导致的,与我的情况完全不符。
  • 后来去群里询问了一下,毕竟人多力量大,就有大佬给出了实质性的建议(如下图示)
//问题定位:nginx.conf配置文件 第41行
root C:/Users/Administrator/Desktop/NewProjects/快递公众号/;
  • 经过仔细的观察,才发现原来是文件的英文命名格式出现了错误,具体如下图所示。
  • 在文件命名时,习惯性的在两个单词之间添加了一个空格,才导致后续问题的发生。
  • 然后去掉空格,保存配置后,重启了nginx,问题就消失了,项目也可以成功运行了。
  • 吃一堑长一智,以后在命名文件夹时一定要注意这两个雷区:中文和空格
  • 因为命名的文件是会以文件路径的形式出现在nginx的配置文件中的,而且配置文件中是不允许文件路径中存在空格的。【这一点一定要注意!!!】
nginx启动失败之nginx: [emerg] invalid number of arguments in "root" directive in nginx/nginx.conf:41 Write By Monkeyfly以下内容均为原创,如需转载请注明出处。前提由于更换了新的SVN地址,所以必须在新的SVN地址上重新检出所有的项目至本地。因为之前都习惯用中文命名文件夹,这次就想尝试用英文命名。而且之前也听别人说中文命名可能会导致某些问题。命名的项目文件都会以文件路径的形式出现在nginx的conf配置文件中,所以建议用英文命名。我一直都是使用中文命名的,使用...
重新启动服务器,访问web服务发现无法浏览啦!登陆服务器之后进到nginx使用./nginx -s reload重新读取配置文件,发现报nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2: No such file or directory)错误,进到logs文件发现的确没有nginx.pid文件   [root@localhost sbin]# ./nginx -s reload   nginx: [error] open() “/usr/local/nginx/logs/nginx.pid” failed (2
location 中root所指向的html是一个相对路径,相对的是这个配置文件的路径,假设此配置文件的位置是/etc/nginx/conf.d,那么这个html的绝对路径就是/etc/nginx/conf.d/html。因此为避免出现不必要的麻烦,在配置root路径的过程中最好用绝对路径。 2、路径的继承问题 2.1 第一种情况 假如server 中声明: root /usr/s
解决Nginx启动报错“nginx: [emerg] unknown directive “ngx_fastdfs_module“ in /xxx/nginx/conf/nginx.conf:43“
尝试使用Nginx进行反向代理过程中出现如下错误: 代码如下: nginx: [emerg] “proxy_cache_path” directive is not allowed here in /etc/nginx/conf.d/default.conf:29 提示意思“proxy_cache_path指令不被允许”,在官网上查找了相关说明,也没有发现问题,最后看应用范围才知道,他只能使用于http{  }部分,把proxy_cache_path放置于http部分即可解决此问题 参见:http://nginx.org/cn/docs/http/ngx_http_proxy_module.
关于错误nginx: [emerg] invalid number of arguments in "root" directive in /etc/nginx/nginx.conf:44可能解决方案
其一,是说可能语句缺少了分号“;”。但是这种错误比较明显也很容易修改。 其二,是说root路径语句中不能包含空格和中文。实际上出现这个错误基本上就是这一条了。在路径中不能包含中文和空格,这两点确实是禁忌。
nginx: [emerg] invalid number of arguments in "ssl_certificate" directive in /home/local/nginx/conf/nginx.conf:124 配置文件语法错误,少了分号
当待验证的客户端证书是由intermediate-CA签发,而非有root-CA签发时,需要在proxy_ssl_trusted_certificate中配置intermediate-CA和root-CA组成的证书链文件 也就是说,直接尝试使用中级 CA 来验证客户端是无法通过的,openssl 会自动的去找中级 CA 的签发者一层层验证上去,直到找到根。 因此,在实际使用的时候,需要注意一下两点: CA 文件中必须同时存在 中级 CA 和 根 CA,必须构成完整证书链,不能少任何一个; 默认的验证深度 SslVerifyDepth ssl_verify_depth 是 1,也就是说只要是中级
nginx: [emerg] invalid port in resolver "fe80::20c:29ff:fe17:d721%ens160" in /app/tengine/conf/nginx.conf:60 /etc/resolv.conf文件 nameserver 202.96.128.86 nameserver fe80::20c:29ff:fe17:d721%ens160 nginx启动失败之nginx: [emerg] invalid number of arguments in "root" directive in nginx/nginx.conf:41 106031 nginx启动失败之nginx: [emerg] invalid number of arguments in "root" directive in nginx/nginx.conf:41 Zhang_9368: 我在c盘用户名有空格 md 百度地图JavaScript API 学习之浏览器定位 wwtx2048: 我也遇到了是不是谷歌根据谷歌地图定位的,谷内无法访问谷歌地图导致定位不准确 关于bootstrap-table冻结列生成多个冻结表头和表格主体的问题 sfdcxz: 请问大佬是否有使用bootstrap-table的排序功能。 当x横向滚动后,点击表头字段排序会发生表头和body错位,只要拖动滚动条又立马复位了。