阿里云部署Meteor 過程
服務器: 阿里云 Ubuntu 14.04 64位,
本地電腦: MAC 系統
Node: 6.9.1?
【本地電腦進行】
A, 安裝MUPX命令: ?
?sudo ?npm install -g mupx?
B, 進入你要部署的項目目錄中,比如說hello
命令:cd? hello
命令:mupx init
此步自動創建2個文件
mup.json (Meteor Up配置文件)
settings.json (Meteor's settings API配置文件)
C, 只需要配置mup.json
{
"servers": [{
"host": "101.200.162.xxx",
"username": "root",
"password": "password",
"env": {}
}],
"setupMongo": true,
"setupNode": false,
"setupPhantom": false,
"appName": "miniapp",
"app": "/Users/aier/meteor/miniapp",
"env": {
"PORT": 80,
"ROOT_URL": "http://www.xxx.cn"
},
"deployCheckWaitTime": 15,
"enableUploadProgressBar": true
}
D, 環境安裝命令:mupx setup
E, 項目部署命令:mupx deploy
最重要是mupx deploy 這一步,經常出現這個錯誤
Using buildOptions : {}
buffer.js:74
throw new Error(
^
Error: If encoding is specified then the first argument must be a string
at new Buffer (buffer.js:74:13)
at Readable. (/usr/local/lib/node_modules/mupx/node_modules/archiver/lib/util/index.js:32:15)
at emitNone (events.js:91:20)
at Readable.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:74:11)
at process._tickCallback (internal/process/next_tick.js:98:9)
這是由于NODE版本最新的本身程序有一個小bug
找到這個文件打開
/usr/local/lib/node_modules/mupx/node_modules/archiver/lib/util/index.js
里面內容的32行,內容修改一下
// var buf = new Buffer(size, 'utf8'); ?這是原來的,注釋掉,換成下面的
var buf = new Buffer(size.toString(), 'utf8');
改好保存后,在運行項目部署命令:mupx deploy
終于成功了吧。。。見提示信息
F, 顯示日志命令:mupx logs -f
G, 其他 mupx 命令:
mupx reconfig
mupx stop
mupx start
mupx restart