Pages

Tuesday, 1 April 2014

在linux vps上搭建基于nodejs的静态博客程序-purelog

npm install -g purelog-cli
会显示:
...
/root/npm/bin/purelog
...
mkdir purelog-site
cd purelog-site
/root/npm/bin/purelog --init (此命令会在~/purelog-site/里生成一些东西)
npm install
node app.js

发贴方法:
as3:~/purelog-site# ls
app.js  config.js  content  node_modules  package.json
as3:~/purelog-site# cd content
as3:~/purelog-site/content# nano test2.md
格式如下:
<!--
Title: 测试2
ID: test2
Date: 2014-03-27T18:12:00-08:00
Status: publish
Type: post
Tags: misc1, misc2
Excerpt: 点击标题看全文
-->

这是测试2.

然后,
as3:~/purelog-site/content# netstat -anp|grep :13111
显示:
tcp        0      0 0.0.0.0:13111           0.0.0.0:*               LISTEN     
29710/node
as3:~/purelog-site/content# kill 29710 (即杀死占用13111端口的node进程)
as3:~/purelog-site/content# cd ..
as3:~/purelog-site# ls
app.js  config.js  content  node_modules  package.json
as3:~/purelog-site# nohup node app.js > /dev/null &
(这样,网站就得以更新。可惜此程序竟然不支持html editor模式。因此插入html代码是不会有
相应效果的,比如http://as3.brite.biz:13111/archive/smiling-face.html,

2014-04-06日更新:
cd到~/purelog-site/node_modules/purelog,运行npm install marked,然后你需要改动一下, 这个文件在:~/purelog-site/node_modules/purelog/lib/storage.js,
第6行,替换成:, _marked = require('marked’);
第37行,替换成:article.content = _marked(article.content);
这样,md文件就支持html editor模式了。
as3:~/purelog-site/node_modules/purelog# ls
Gruntfile.js  index.js  lib  node_modules  package.json  tasks
as3:~/purelog-site/node_modules/purelog#
进阶阅读:https://github.com/chjj/marked

13111端口是在config.js里设定的,可修改为其他未被占用的端口。

演示站点:http://as3.brite.biz:13111/
http://iove.net/ (程序作者用此程序搭建的网站)
如果要绑定域名的话,可以apache或nginx做反向代理来实现,反向代理http://as3.brite.biz:13111/这个地址。
项目地址:http://purelog.org/
https://github.com/conis/Purelog
-------------------------------------------
目前在node.js上面绑定域名主要还是依靠反向代理。
具体步骤如下:
  1. 添加新的主机(假设域名为xxxx.cn,Node.js应用端口为8000)
  2. 使用SSH登录到VPS上,进入到/usr/local/nginx/conf/vhost目录下
  3. 使用vi或vim编辑 xxxx.cn.conf文件在其中添加如下代码:
    location / {    
             proxy_pass http://127.0.0.1:8000;    
        }
  4. 保存退出,重启Nginx即可。