Total Pageviews

Saturday, 12 April 2014

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

git clone https://github.com/renjiexu/myallblue_website www.myallblue.info-site
cd www.myallblue.info-site

as3:~/www.myallblue.info-site# ls
app.js _posts README.md views
lib package.json public routes
as3:~/www.myallblue.info-site# nano package.json
把里面"express"的值改为3.2.4或3.x.x
as3:~/www.myallblue.info-site# npm install
as3:~/www.myallblue.info-site# ls
app.js  node_modules  _posts  README.md  views
lib     package.json  public  routes
(生成了node_modules目录。一般如果你在某个目录里看到了package.json存在,那么就在该目录里运行npm install以安装package.json文件里所指定的那些node模块)

as3:~/www.myallblue.info-site# nano app.js
修改此行app.set('port', process.env.PORT || 3000);里的3000为其他端口,如果你的3000端
口已被某程序占用。我改为了3013.
把app.js复制一份为app2.js,
再来修改app.js里面的:
var poet = require('./lib/poet')(app, {
  storageType : 'database',
  mongoUri : 'mongodb://poet:admin@troup.mongohq.com:10028/app21978785',
  dbRefreshInterval: 60000,
});
改成:
var poet = require('poet')(app);
然后修改package.json,在"dependencies"那段的中间加上
"poet": "",
然后运行npm install以安装poet模块。
as3:~/www.myallblue.info-site# nohup node app.js > /dev/null &
访问http://as3.brite.biz:3013/即可看到网站效果。
(我们还可修改app2.js里的此行app.set('port', process.env.PORT || 3000);里的3000为其他端口,如果你的3000端口已被某程序占用。我改为了3014.
把app2.js里面的storageType改成filesystem,然后
as3:~/www.myallblue.info-site# nohup node app2.js > /dev/null &
 访问http://as3.brite.biz:3014/也可看到网站效果。)


发贴方法:
as3:~/www.myallblue.info-site# ls
app.js  node_modules  _posts  README.md  views
lib     package.json  public  routes
as3:~/www.myallblue.info-site# cd _posts
as3:~/www.myallblue.info-site/_posts# ls
Enhancement ideas for poet.md  setup-poet.md  随便写写.md
as3:~/www.myallblue.info-site/_posts# nano test1.md
按setup-poet.md的格式,新建帖子test1.md,格式如下:
{{{
  "title": "test1",
  "tags": ["node.js", "poet"],
  "category": "misc",
  "date": "04-13-2014 14:08:10"
}}}

<h2>测试1</h2>
这是测试1.

注意:上面的date那行要加上14:08:10这样的内容,否则帖子不会按发表的时间顺序排列。
不支持中文标题,可在正文的上一行加上h2代码,起到翻译英文标题的作用。

保存帖子后,网站就自动更新了。它跟purelog不同,purelog一定要重启node进程才能更新网站。

demo site: http://as3.brite.biz:3013/,http://as3.brite.biz:3014/
项目地址:https://github.com/renjiexu/myallblue_website
这个程序是不生成index.html文件的,因此如果想绑定域名,就只能用apache或nginx做反向代理来实现了。

类似的程序:http://briteming.blogspot.co.uk/2014/04/linux-vpsnodejs-purelog.html