我使用的是 Ubuntu 16.04 版本。
-
建议先建立一个新的 project,这样更容易和别人共享你的 Computer Engine,特别是需要和别人合作的时候。
-
创建后新建一个账号,这样可以可合作者分工协作。
sudo adduser share
... ... 根据提示填写密码等
sudo usermod -aG sudo share //把 share 账号添加到 sudo 组
最后切换用户
su - share
- 安装 node.js
先安装 nvm,这样容易管理 node 的版本。
curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.33.9/install.sh | bash
安装后得退出 ssh console, 再次进入后 nvm 才会生效。
安装 node 8.9.4 版本。最新的 8.11.1 在 meteor 里会有 segment fault 的问题。
nvm install 8.9.4
4.安装 pm2 管理 node 进程
npm install pm2 -g
pm2 startup systemd
- 安装 MongoDB,使用本地数据库
详情见这里 英文安装步骤
安装完成后,使用如下步骤确认下安装是否成功。
先使用下面命令修改 mongod 的配置
sudo nano /etc/mongod.conf
找到 "#replication" 的注释处,改为如下内容
replication:
replSetName: meteor
然后重启 mongo
sudo service mongod restart
重启后,运行 mongo
进入 mongo shell,在 mongo shell 里键入
var config = {_id: "meteor", members: [{_id: 0, host: "127.0.0.1:27017"}]}
rs.initiate(config)
你应该会看到返回
{"ok":1}
最后,再次重启mongo
sudo service mongod restart
要确认 mongo 是否运行正常,可以进入 mongo shell,然后运行 rs.status()
, 如果正常可以看到类似如下的返回
{
"set" : "meteor",
"date" : ISODate("2016-08-22T10:54:53.367Z"),
"myState" : 1,
"term" : NumberLong(2),
"heartbeatIntervalMillis" : NumberLong(2000),
"members" : [
{
"_id" : 0,
"name" : "127.0.0.1:27017",
"health" : 1,
"state" : 1,
"stateStr" : "PRIMARY",
"uptime" : 12576,
"optime" : {
"ts" : Timestamp(1471850718, 1),
"t" : NumberLong(2)
},
"optimeDate" : ISODate("2016-08-22T07:25:18Z"),
"electionTime" : Timestamp(1471850717, 1),
"electionDate" : ISODate("2016-08-22T07:25:17Z"),
"configVersion" : 1,
"self" : true
}
],
"ok" : 1
}
-
从 git repo clone 代码到 GCP 服务器
-
build meteor app
先安装 meteor
curl https://install.meteor.com/ | sh
然后在 meteor 代码文件夹下运行
meteor npm i //安装所需的 npm 包
meteor build --architecture=os.linux.x86_64 ../build //打包代码.这个可能会要10来分钟
tar xvf meteor-build-test.tar.gz //到 build 目录解压
cd bundle/programs/server && npm install // 解压后安装 npm 包
最后在 bundle 目录添加 pm2 的配置
nano pm2.json
{
"apps": [{
"name": "appName",
"cwd": "/home/meteor/build/bundle",
"script": "main.js",
"env": {
"NODE_ENV": "production",
"WORKER_ID": "0",
"PORT": "3000",
"ROOT_URL": "http://your.server.ip.address",
"MONGO_URL": "mongodb://localhost:27017/meteor",
"MONGO_OPLOG_URL": "mongodb://localhost:27017/local",
"HTTP_FORWARDED_COUNT": "1",
"METEOR_SETTINGS": {}
}
}]
}
拷贝过去,记得把 ROOT_URL 改为你用的地址。
最后运行 pm2 start pm2.json
命令, 你的 meteor 就运行在你的服务器上了。当然你也可以使用其 port,例如 80 端口。
网友评论