因为生产环境做了负载均衡,为了尽可能跟线上环境一致,所以想在本地也搭集群,这样测试更靠谱。首先就想到nginx 这货,搭个简单的web 服务器实在太简单了。
nginx 这玩意11年简单玩过,那是版本好像是0.8.x,几年过去了版本号不大,但迭代也不少,也算个版本帝。
在官网http://nginx.org/en/download.html 下载个最新版本,网上搜了篇文件分分钟搭好了。
1.unknown directive ,错误日志如下:
2015/11/04 11:05:15 [emerg] 7544#3144: unknown directive "" in D:Program Files
ginx-1.9.6/conf/nginx.conf:3
2015/11/04 11:07:13 [emerg] 1156#12888: unknown directive "" in D:
ginx-1.9.6/conf/nginx.conf:3
出现这个根据经验首先想到的可能是路径中有像 Program Files 这样有空格的,直接放根目录结果还是如此。
网上搜索到原因及解决办法(打死都想不到):
conf文件被记事本编辑过,保存成了含BOM头的文件,使用其他编辑器将文件另存为UTF-8不含Bom头的格式。
2.Nginx在启动报错:bind() to 0.0.0.0:80 failed (10013: An attempt was made to access a socket in a way forbidden by its access permissions) 。
原因是nginx默认80端口被System占用,造成nginx启动报错。在cmd窗口运行如下命令:netstat -aon | findstr :80
看到80端口果真被占用。发现占用的pid是4,用户名是System。怎么能跟系统抢,但没办法80我还就用定了。
直接结束进程,结果蓝屏杯具了。还是太野蛮了,此法不行。
1、打开注册表:regedit
2、找到:HKEY_LOCAL_MACHINESYSTEMCurrentControlSetservicesHTTP
3、找到一个REG_DWORD类型的项Start,将其改为0
4、重启系统,System进程不会占用80端口
参考:
http://www.360sdn.com/Nginx/2014/0807/4044.html