因为生产环境做了负载均衡,为了尽可能跟线上环境一致,所以想在本地也搭集群,这样测试更靠谱。首先就想到nginx 这货,搭个简单的web 服务器实在太简单了。

nginx 这玩意11年简单玩过,那是版本好像是0.8.x,几年过去了版本号不大,但迭代也不少,也算个版本帝。
在官网http://nginx.org/en/download.html 下载个最新版本,网上搜了篇文件分分钟搭好了。

1.unknown directive ,错误日志如下:

// :: [emerg] #: unknown directive "" in D:\Program Files\nginx-1.9./conf/nginx.conf:
// :: [emerg] #: unknown directive "" in D:\nginx-1.9./conf/nginx.conf:

出现这个根据经验首先想到的可能是路径中有像 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_MACHINE\SYSTEM\CurrentControlSet\services\HTTP

3、找到一个REG_DWORD类型的项Start,将其改为0

4、重启系统,System进程不会占用80端口

 
3.将nginx做成服务
 之前启动nginx用到园子里Ants写的一个批处理。可开启后会开着个命令行窗口。像我这种有点强迫症的人,不喜欢开太多窗口,可能不小心就关了。
搜索一番,方案很多,最终选择 Windows Service Wrapper ,按网上的步骤做下来不太顺,总结下。
 
1.不要放在  Program Files 这样有空格的目录;
2.安装服务cmd.exe 以管理员身份运行;
3.xml配置文件logpath目录必需存在(网上都是放nginx根目录),不然服务起动不了;
4.logmode(日志模式)有 reset , roll (move to *.old) or append (default) 可选
 
实践出真理,看似简单的事,做起来不一定容易。最终附上 nginx 及 winsw 点我

参考:

http://www.360sdn.com/Nginx/2014/0807/4044.html

http://deeplyloving.iteye.com/blog/734588

https://kenai.com/projects/winsw/pages/ConfigurationSyntax

记录nginx 搭建集群环境踏过的坑的更多相关文章

  1. Hadoop化繁为简-从安装Linux到搭建集群环境

    简介与环境准备 hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce.近年,随着大数据.云计算.物联网的兴起,也极大的吸引了我的兴趣,看了网上很多文章,感觉还是云里雾里,很多不必 ...

  2. Linux+.NetCore+Nginx搭建集群

    本篇和大家分享的是Linux+NetCore+Nginx搭建负载集群,对于netcore2.0发布后,我一直在看官网的文档并学习,关注有哪些新增的东西,我,一个从1.0到2.0的跟随者这里只总结一句话 ...

  3. Hadoop化繁为简(一)-从安装Linux到搭建集群环境

    简介与环境准备 hadoop的核心是分布式文件系统HDFS以及批处理计算MapReduce.近年,随着大数据.云计算.物联网的兴起,也极大的吸引了我的兴趣,看了网上很多文章,感觉还是云里雾里,很多不必 ...

  4. 基于redis 3.x搭建集群环境

    由于我团队开发的在线坐席系统,即将面对线上每周3000W的下行投放客户,产品的咨询量可能会很大,基于前期,200W的投放时,前10分钟,大概800问题量,平均一个客户大概8个问题,也就是说每分钟10个 ...

  5. linux下安装 zookeeper-3.4.9并搭建集群环境

    本文主要记录作者在实践过程中实现在centos7环境下安装zookeeper并搭建集群的详细步骤,关于zookeeper本文将不做详细介绍,安装步骤详情如下: 前提准备:3台linux服务器(因为zo ...

  6. druid 搭建集群环境

    下载druid 下载地址 http://static.druid.io/artifacts/releases/druid-services-0.6.145-bin.tar.gz 解压 tar -zxv ...

  7. 转】Nginx+tomcat集群环境搭建(Windows下)

    原博文出自于:    http://blog.csdn.net/clj198606061111/article/details/22621003       感谢! 实验环境 windows xp s ...

  8. Nginx+tomcat集群环境搭建

    实验环境:windows xp sp3 Nginx版本:1.5.12: 下载地址:http://nginx.org/en/download.html Tomcat版本:6.0.39 下载地址:http ...

  9. Nginx+tomcat集群环境搭建(Windows下)

    实验环境 windows xp sp3 Nginx版本:1.5.12: 下载地址:http://nginx.org/en/download.html Tomcat版本:6.0.39 下载地址:http ...

随机推荐

  1. python datetime模块参数详解

    Python提供了多个内置模块用于操作日期时间,像calendar,time,datetime.time模块,它提供 的接口与C标准库time.h基本一致.相比于time模块,datetime模块的接 ...

  2. 迅为iTOP-4412核心板调整电压

    本文转自:http://www.topeetboard.com iTOP-4412核心板使用的电源管理芯片是三星专门针对4412研发的S5M8767,8767提供9路BUCK和28路LDO输出,每路电 ...

  3. 【Android Demo】简单手机通讯录

    Android 系统给我们提供了访问通讯录的接口,通过接口获取通讯录信息.Adapter 与 View 的连接主要依靠 getView 这个方法返回我们需要的自定义 view. ListView 是 ...

  4. Fisker大师用ZBrush制作兽人萨尔全过程

    十二年前,暴雪推出第一款网络游戏<魔兽世界>,以迅雷不及掩耳盗铃之势风靡全球:十二年后,魔兽终于改编成大电影,同样掀起了一场巨大的风暴, 接二连三打破了多项票房纪录.纵观游戏史,很难找出一 ...

  5. a 标签中调用js的几种方法

    我们常用的在a标签中有点击事件: 1. a href="javascript:js_method();" 这是我们平台上常用的方法,但是这种方法在传递this等参数的时候很容易出问 ...

  6. smarty3缓存设置

  7. 介绍Git版本控制器的使用

    Git 简介 Git 是什么?大家肯定会说不就是版本控制器嘛,是的Git是目前世界上最先进的分布式版本控制系统(没有之一). 1.那什么是版本控制器呢? 举个简单的例子,比如我们用Word写文章,那你 ...

  8. f2fs源码分析之文件读写过程

    本篇包括三个部分:1)f2fs 文件表示方法: 2)NAT详细介绍:3)f2fs文件读写过程:4) 下面详细阐述f2fs读写的过程. 管理数据位置关键的数据结构是node,node包括三种:inode ...

  9. SQL查询(医疗项目的SQL复习)

    内容来自于

  10. 05SpringMvc_映射器SimpleUrlHanderMapping

    这篇文章讲的还是映射器,映射器类有两种,前一篇文章讲的是BeanNameUrlHanderMapping映射器类.今天讲的是SimpleUrlHanderMapping映射器类. 这两个映射器类有什么 ...