bundle + forever部署Meteor App

Meteor是一款nodejs + MongoDB全棧式框架,活躍在國外。公司的服務器工程師給出的方案,本人加以編輯但願對Meteor感興趣的同窗有所幫助。javascript

另外:招聘 javascript工程師,有興趣致力於富應用開發 or NodeJs 開發的同窗能夠聯繫我哦.css

bundle的做用是合併壓縮Meteor Client JS文件 

對於css文件 Meteor自身已經打包合併爲一個  

因此Meteor developers 不用擔憂打包方面的問題 處理的至關好

首先保證環境變量
在 /etc/profile.d/mrt.sh 中寫入下列命令:
export PORT=80
export MONGO_URL=mongodb://yourdomain:27017/dbname
export ROOT_URL=http://yourdomain

yourdomain 通常爲ip地址 ip綁定域名便可

下面以todos爲例:

建立meteor todos例子:

meteor create --example todos

接下來對todos進行打包:
[root@localhost ~]# cd todos/
[root@localhost todos]# meteor bundle bundle.tgz
將bundle.tgz 複製到/目錄下解壓
[root@localhost /]# tar xf bundle.tgz
在/ 目錄下多了個 bundle的目錄
運行 node bundle/main.js

使用forever 保證服務一直運行 ,能夠省去 tumx 和 screen nohup等命令 
forever start bundle/main.js
-l 選項能夠指定日誌輸出目錄
 
查看有哪些服務是經過forever運行的
forever list
info:    Forever processes running
data:        uid  command                                     script          forever pid   logfile                 uptime       
data:    [0] agGu /usr/local/node-v0.10.26-linux-x64/bin/node /bundle/main.js 27071   27604 /root/.forever/agGu.log 0:0:22:25.852
 
中止某個服務
[root@localhost /]# forever stop 0
info:    Forever stopped process:
data:        uid  command                                     script          forever pid   logfile                 uptime      
[0] agGu /usr/local/node-v0.10.26-linux-x64/bin/node /bundle/main.js 27071   27604 /root/.forever/agGu.log 0:0:23:7.356


forever命令能夠把終端(server端)裏面的輸出信息寫入到日誌文件裏面:

能夠經過對Meteor.Collection進行擴展輸出mongo操做信息

在server端文件中加入下列代碼能夠查看全部的表 查詢參數:java

方便用來查詢mongo錯誤信息
Meteor.startup(function () {
    var wrappedFind = Meteor.Collection.prototype.find;

    console.log(‘START::::::查詢方法日誌信息 + new Date() ‘);
   
    Meteor.Collection.prototype.find = function () {
      console.log(this._name + '.find', JSON.stringify(arguments))
      return wrappedFind.apply(this, arguments);
    }
    console.log(‘END::::::查詢方法日誌信息 + new Date() ‘);
}) node

相關文章
相關標籤/搜索