因为生产环境做了负载均衡,为了尽可能跟线上环境一致,所以想在本地也搭集群,这样测试更靠谱。首先就想到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. 数据持久化之sqlite基本用法

    一.ACID 即原子性(Atomicity).一致性(Consistency).隔离性(Isolation).持久性(Durability). 原子性:整个事务中的所有操作,要么全部完成,要么全部不完 ...

  2. 2014 Super Training #10 C Shadow --SPFA/随便搞/DFS

    原题: FZU 2169 http://acm.fzu.edu.cn/problem.php?pid=2169 这题貌似有两种解法,DFS和SPFA,但是DFS怎么都RE,SPFA也要用邻接表表示边, ...

  3. 十个Flex/Air疑难杂症及解决方案简略

    十个Flex/Air疑难杂症及解决方案简略 转自http://blog.sban.us/40.html 最近去一家台企,对方给我出了十道“难道”:在TileList中如果選擇檔過多,會出現捲軸,當拖動 ...

  4. java12-6 冒泡排序法和选择排序法

    1.冒泡排序法 相邻元素两两比较,大的往后放,第一次完毕,最大值出现在了最大索引处 分析: 第一次比较排序的结果:会把其中最大的数据排到最大的索引处 第二次比较排序后的结果:因为第一次已经把最大的一个 ...

  5. 第三方登录之qq登录(转载)

    iOS QQ第三方登实现   我们经常会见到应用登陆的时候会有QQ,微信,微博等的第三方登陆 如图: 下面我们主要讲一下qq的第三方登陆如何实现 首先,到官网注册: http://wiki.conne ...

  6. ES配置文件参考与参数详解

    cluster.name: data-cluster node.name: "data-es-05" #node.data: false # Indexing & Cach ...

  7. sudo权限添加 和 rpm、deb之名词解释

    sudo权限添加: 刚开始用Center_os Linux操作系统,想装个输入法,搜了一下,看到linux下的搜狗输入法(帖子链接)下载下来的文件的扩展名是.deb,直接用帖子上的一个命令: sudo ...

  8. web前端开发资源整理

    webpack中文文档 http://webpackdoc.com/index.html 饿了么UI http://mint-ui.github.io/#!/zh-cn http://element. ...

  9. How to get date from OAMessageDateFieldBean

    OAMessageDateFieldBean dateFromBean = (OAMessageDateFieldBean)webBean.findChildRecursive("pRece ...

  10. PHP基础20:创建文件

    <?php /* 1.PHP 创建文件 - fopen() fopen() 函数也用于创建文件.也许有点混乱,但是在 PHP 中,创建文件所用的函数与打开文件的相同 如果您用 fopen() 打 ...