pomelo start命令的背后-pomelo源码分析(1)

首先,$which pomelo发现全局的pomelo命令指向的是/usr/local/bin/pomelo文件,该文件是/usr/local/lib/node_modules/pomelo/bin/pomelo文件的软链接,直接查看该文件的内容,我们发现这个pomelo其实就是一个js文件。而且头一行为: ,这句话表示告诉系统,我们要调用node进程来执行pomelo这个js脚本文件。$pomelo start = $node /usr/local/bin/pomelo;$pomelo start -D = $node /usr/local/bin/pomelo start -D。 再往下看,有这么一段代码: program.command('start') .description('start the application') .option('-e, […]

linux常用系统命令

1. top 检查系统cpu、内存以及进程情况。 按shift+m    可以按内存使用率排序进程 按shift+p     可以按cpu使用率排序进程 按shift+t      可以按cpu使用时间排序进程 按shift+n     可以按pid排序进程 按1                  可以显示cput各核的负载 按u,再输入user name 

Node.js入门

什么是Node.js 简单来说,Node.js是一个服务器端的javascript运行时环境,使得我们可以在服务器端运行javascript代码。 至于安装Node.js,Node.js官网有已编译的二进制文件,也有源文件包。我自己是下载源文件重新编译安装的。 Hello,World 方法一:直接执行无参数的node命令,进入node命令行界面,打印Hello, World。 方法二:执行node hello.js命令,调用写好的javacript脚本。 console.log('Hello, World'); 一个基本的Web Server 这是nodejs.org的一个官方例子,使用Node.js建立一个web服务器。打开编辑器,建立一个名为app.js的文件,内容如下: var http = require('http'); http.createServer(function (req, res)

javascript的面向对象

1. 原始类型和对象类型 javascript的数据类型分为两类,原始类型(primitive type)和对象类型(object type)。原始类型包括javascript已定义的数值、字符串、布尔值。对象类型包括用户定义的对象以及函数(对,函数在javascript中其实也是一种对象)。原始类型的赋值是传值赋值,对象类型的赋值是引用赋值。在下面的例子可以看出来。 var n = 10; var m = n; // 传值赋值,m的值等于n m = 13; console.log('n =

php生成静态html文件

php生成静态html文件,主要用在某些并不需要实时更新,且访问量大的页面,比如说门户的首页。顾名思义,就是当首次访问时候,php生成一个静态html页面,同时该页面有一个“有效时间”,在有效时间内所有的访问都直接返回该html页面,而不需要每次访问都重新生成页面。当过了有效时间后,重新生成一次静态html页面即可。从而节省系统开销。 (当然,这个静态html文件内部还可以通过ajax实时更新数据。) 如下所示: 用户访问output.php页面,后台首先查看是否存在有效的output.html, 若存在,直接返回该html文件; 若不存在,php重新处理数据输出给用户,同时生成一个新的html文件留待之后的访问。 if (is_file('output.html') && (time() – filemtime('output.html')) < 300) { // 如果静态页面存在且仍在有效时间内(这里设为5分钟),直接输出该静态文件 require_once('output.html'); } else

CentOS 6.3升级php5.5

在CentOS 6.3 系统下直接yum install php,默认安装的是php 5.3。前几天为了解决php耗尽内存导致宕机的情况,顺便将php 5.3升级成5.5了。 1. 检查系统当前安装过的php程序包 yum list installed | grep php 然后将查到的相关php程序以及扩展库卸载掉 yum remove php php-fpm

CentOS下php-fpm进程cpu占用率100%导致无法访问的情况

最近我的阿里云服务器经常出现网站无法访问的情况,同时也无法ssh登陆,只有服务器ip可以ping通。只能通过阿里云后台重启系统才能恢复。之前也出现过几次,但一直懒得处理,还天真的认为是不是太久没访问系统待机了,=。=#   现在得干点活了。(ง •̀_•́)ง   1. 在阿里云后台添加站点监控,监控hawu.me访问超时的情况。 2015.3.4 18:40 收到监控告警, hawu.me无法访问。赶紧尝试ssh服务器,果然无法登陆了。阿里云监控显示服务器cpu使用率100% 。   2. 重启服务器后查看系统日志(/var/log/messages)与php日志(/var/log/php-fpm/error.log) 这时候的php日志记录如下: [04-Mar-2015 18:32:02] WARNING: [pool www] seems

nginx为网页开启gzip压缩

今天准备写汤圆网的app后台接口时,观摩了一下api.huaban.com的返回。发现人家的http响应头中有个值: Content-Encoding:”gzip” 看起来略屌对不对,我才知道原来http响应可以在先服务器端进行gzip压缩,然后传输,最后由浏览器自动解压!这样既能加速传输效率、又降低带宽占用。对于我这种带宽渣渣的小个体户,简直就是天降福音。 (sorry,以上都是废话) nginx关于gzip压缩模块的官方配置文档:http://nginx.org/en/docs/http/ngx_http_gzip_module.html   1. 打开nginx的配置文件 nginx.conf   2. 在http花括号里可以看到gzip功能被注释掉了: #gzip  on;   3. 取消注释,开启gzip压缩,并添加如下配置: gzip on; gzip_comp_level

在swift项目中使用AFNetworking网络库

关于AFNetworking的介绍就不多说了,这是一个时下比较流行的ios和mac os网络库,不过遗憾的现在只有objective-c版本。 1. 安装CocoaPods $ sudo gem install cocoapods 安装过程比较慢,你可以用$ sudo gem install cocoapods -V来观察后台的执行过程。 另外,由于GFW的原因,RubyGems资料源可能被墙,可以将gem的源换成淘宝的RubyGems镜像。   2. 编辑Podfile 在项目目录下添加podfile文件,编辑内容:

Scroll to Top