别问我为啥非要在Windows上按照Nginx,问的话,回答就是:有这个需求
1:CreateFile()“xxxxx” failed (3: The system cannot find the path specified)
产生原因:创建文件xxxx异常了。大多数情况就是因为:安装目录中存在中文或者是空格
比如凯哥的就是因为存在空格。凯哥第一次安装目录:d:\Program Files (x86)\nginx1.8
就是因为这个目录存在了空格导致的。
修改:D:\study\nginx-1.8.1
这样启动就解决了。
如果配置文件使用了include命令的话,windows系统默认文件分隔符是“\”,建议修改成“/”。如下:
include D:/data/nginxdomainconfig/vhost/nginx/*.conf;
2:nginx “nginx could not build the server_names_hash”解决方法
解决方法: 在配置文件的http{}段增加一行配置 server_names_hash_bucket_size 64; 如果64还不够,那么就按32的倍数往上加。 下面是在中文wiki上摘抄的一段说明: 保存服务器名字的hash表是由指令 server_names_hash_max_size 和 server_names_hash_bucket_size所控制的。参数hash bucket size总是等于hash表的大小,并且是一路处理器缓存大小的倍数。在减少了在内存中的存取次数后,使在处理器中加速查找hash表键值成为可能。如果 hash bucket size等于一路处理器缓存的大小,那么在查找键的时候,最坏的情况下在内存中查找的次数为2。第一次是确定存储单元的地址,第二次是在存储单元中查找键值。因此,如果Nginx给出需要增大 hash max size 或 hash bucket size的提示,那么首要的是增大前一个参数的大小.
然后重新加载,执行命令:nginx.exe -s rolad。
文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/11640