部署 meteor 到 Google Compute Engine
我使用的是 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 埠。
相關文章
- Google App Engine 1.7.2 釋出GoAPP
- Google App Engine中使用資料庫GoAPP資料庫
- Google App Engine正式支援Python 2.7GoAPPPython
- 探索Google App Engine背後的奧祕GoAPP
- Google Earth Engine下載Sentinel2資料Go
- 將meteor部署在自己伺服器上的簡易方法伺服器
- Meteor筆記筆記
- 快訊亂評:Google App Engine SDK 1.2.6釋出薦GoAPP
- 谷歌向所有開發者開放Google App Engine PHP Runtime谷歌GoAPPPHP
- Compute Shader
- 《雲端程式碼:Google App Engine程式設計指南 》小編手記GoAPP程式設計
- meteor 實現 微信分享
- Google Kubernetes Engine連續第三天服務中斷Go
- Using View and Data API with MeteorViewAPI
- 在 Angular 網站部署 Google 廣告Angular網站Go
- mysql 資料庫部署(google like?)MySql資料庫Go
- Compute Shader 簡介
- _optimizer_compute_index_statsIndex
- vue部署到iisVue
- Innodb: 自動開啟列印show engine status到err日誌
- SSIS 部署篇-如何部署SSIS包到SqlServerSQLServer
- Js template engineJS
- C# DataTable Compute方法的使用C#
- 如何使用Meteor開發以太坊DappAPP
- 流星撞擊全棧之《Meteor實戰》全棧
- 如何在 Google Cloud 上部署 EMQX 企業版GoCloudMQ
- 專案部署到LinuxLinux
- Vulkan在Android使用Compute shaderAndroid
- 安裝 Docker EngineDocker
- 吐血整理如何在Google Earth Engine上寫迴圈 五個程式碼例項詳細拆解Go
- Google:2011年Google+ 使用者達到9000萬Go
- 使用 Meteor 輕鬆開發實時網站網站
- Meteor:全棧JavaScript開發框架的先驅全棧JavaScript框架
- Google的端到端加密技術 OpenPGPGo加密
- 將Laravel應用部署到HerokuLaravel
- Vue專案打包到django部署VueDjango
- Docker Swarm從部署到基本操作DockerSwarm
- metaq入門部署到實戰