11
2016
08

mongodb关于最大连接数修改【续】

解决问题:Invariant failure: ret resulted in status UnknownError 24: Too many open files at src/mongo/db/storage/wiredtiger/wiredtiger_session_cache.cpp 73

上次文章《mongodb最大连接数修改》,但没有彻底,重启机器后仍有问题

28
2016
03

什么是同构JavaScript 应用?

什么是同构? 

“Write once, run everywhere”这是一句形容Java的语句。现在Nodejs出来后Javascript也可以用这句话来描述了。这就引出了同构JavaScript应用的概念:一份代码同时在客户端和服务端渲染的JavaScript应用。

单页应用的问题

23
2016
03

Nodejs高性能服务架构:cluster模式+Nginx多进程模式

Nodejs和Nginx都是轻量级,高性能服务器的代表,而Nodejs站点的标准配置就是在Nodejs服务器上架一层Nginx反向代理,两种轻量级高性能的服务器组合在一起产生什么样的火花呢?往下看。

为什么要在Nodejs上加Nginx反向代理,原因归纳如下:

  1. 用Nginx来做静态资源的反向代理,减少Nodejs的压力;

21
2016
03

mongodb最大连接数修改

在nodejs启动时一次性开了200个Mongodb连接,目的是为了高并发时减少数据库连接耗时。如果做cluster开10个实例就有2000个连接了,这样就有些节点连接不到数据库的情况。

原因是Mongodb默认最大连接数只有819个,于是通过在启动里面加参数 --maxConns=3000来提高最大连接数。然后重启服务,但悲剧的是通过db.serverStatus().connections;查看到最大连接数还是819。原因是linux系统的限制,Linux系统默认一个进程最大文件打开数目为1024。需要在Mongodb开启前修改这个限制。在运行数据前运行ulimit -n命令 。如果已经加入开机脚本,就要在脚本中启动前增加这行了。比如:

21
2016
03

nodejs插件PM2,我已经找到草原

昨天写的一篇关于PM2的博文:nodejs插件PM2,还只是一匹野马![Eliminate]。对于这个碰了一脸灰的插件,重新研究一下,得出了一些新的结论。完全推翻上篇的论点image

18
2016
03

nodejs插件PM2,还只是一匹野马![Eliminate]

上线Nodejs的产品,无论自己写Linux脚本还是用node的插件,都有必要把服务护航起来。起初我们一直用的是forever,除了监控文件更新的忽略文件夹功能稍微让人抓狂外,用来护航和环境切换确实不错。


但当你遇到PM2的时候,你会很快忘记forever,而爱上这个超级监控的开源插件,据说是继承了forever的优点,补充了forever的不足。我们就来看看PM2有多么的吸引人。


介绍

07
2014
11

Hybird APP统计前后端实现原理(Nodejs+JavaScript)

网站统计用来统计网站及网页的浏览情况,以及转换率等。一般情况下第三方统计都可以满足需求,GA,百度统计,站长统计等等,都是非常好的统计工具。手机APP也是有很多,但对于Hybird APP这个畸形的APP品种而言要统计到各个点确实比较麻烦,考虑的点比较多,具体不讨论,在路上的人都知道。

其实本文重点是讨论一下统计工具前后端实现的原理等,下面三各点都很重要,本文只记录抓取问题。


抓取数据

后端Nodejs主要分析User-Agent数据,利用开源模块ua-parser。可以得到客户端浏览器版本,设备等

26
2014
02

CentOS上安装Node.js

Node.js和npm再 Fedora Extra Packages for Enterprise Linux (EPEL:https://fedoraproject.org/wiki/EPEL  ) 仓库中,如果不能确认是否已经打开EPEl请现在系统打开EPEL。检查机器仓库中是否存在EPEL, 运行下面命令

yum repolist

如果没看到epel, 那么你需要从via RPM安装。运行下面代码。

rpm -Uvh http://download-i2.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm

然后你运行yum repolist,可以看到以下界面,可以找到epel。

1.jpg

接着用以下命令来安装node和npm:

sudo yum install npm --enablerepo=epel

如果上面代码不工作,可以用下面的命令重新安装:

sudo yum install nodejs npm --enablerepo=epel
«1»