阿里云部署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