分类 闲杂记事 下的文章

CentOS下使用Node.js与express框架

<p>

微软企业课《WindowsPhone开发》的课程设计,客户端做的一个WindowsPhone音乐播放器,服务端是室友是用Node.js做的web,为了方便测试,我直接将其放到服务器上了,在配置node.js的过程中,遇到了一些麻烦,虽然网上一堆现成的方法,但很多教程都过时了,新版本的环境安装过程出了一些变化。现整理如下:

</p>
<p>

我使用的是CentOS 6,其他版本未测试过下面的流程。

</p>
<p>

1.首先安装epel软件源,因为CentOS自带的软件源里没有含有Node.js,当然你选择自己编译Node.js也可以:

</p>
<p>

wget http://linux.linzhihao.cn/shell/centos_epel.sh
sh centos_epel.sh
<p>
    2.安装Node.js:
</p>
<p>
 class="prettyprint lang-bsh">yum -y install nodejs
e>
    <p>
        3.安装Node.js包管理工具npm:
    </p>
    <p>
 class="prettyprint lang-bsh">yum -y install npm
e>
        <p>
            4.安装express包:
        </p>
        <p>

npm config set registry http://registry.npm.taobao.org
npm install -g express

            <p>
                5.创建新的express项目:
            </p>
            <p>

cd newnodejsweb

                <p>
                    6.安装依赖包并启动刚刚创建的项目(注意:express4.0以上不再用node app.js启动应用,而是用npm start):
                </p>
                <p>
 class="prettyprint lang-bsh">npm install -d
start</pre>
                    <p>
                        7.访问http://127.0.0.1:3000/,即可看到express这个默认页面。
                    </p>
                    <p>
                        <br />
                    </p>

QQ截图20141221025015

命令行下的json解析工具jq

今天想给寝室里做服务器的那台电脑做一个动态解析,恰好Dnspod提供了API,好吧就用它了。看了其官方文档发现它的返回结果是用的json格式,那么我想在Linux开机的时候自动将某个域名记录的值设置为本机IP,就得做一个shell脚本放在Linux开机启动项里面(虽然说写一个程序也可以,但那样太麻烦了,而且维护也不方便)。

DNSPOD的API的调用方法和我想象的不一样啊,我原本以为修改某个记录只需要类似下面的命令:

curl https://dnsapi.cn/?email=xxx@xxx.com&password=xxx&record=www.xxx.com&recordtype=A&value=1.2.3.4

结果事实上是这样的:

1.通过Dnspod API获得域名ID;
2.通过Dnspod API,提供域名ID作为参数,获得域名的记录的ID;
3.通过DNSpod API,提供域名ID、记录ID作为参数,更新该记录的值。

好繁琐,如果前两步返回的是纯ID倒还好,但实际上是返回的json格式的信息,还得把里面的域名ID或者记录ID解析出来才行。

网上找了一下,发现了jq这个软件,是专门用来在命令行下解析json格式的信息的。

因为使用很灵活,官网上也提供了一大堆示例,我就懒得写例子了,反正用起来挺方便的。

官网实例:http://stedolan.github.io/jq/manual/

下载地址:http://stedolan.github.io/jq/download/