部署 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 埠。
相關文章
- Meteor筆記筆記
- Google Earth Engine下載Sentinel2資料Go
- Compute Shader
- Google Kubernetes Engine連續第三天服務中斷Go
- Compute Shader 簡介
- 如何使用Meteor開發以太坊DappAPP
- 在 Angular 網站部署 Google 廣告Angular網站Go
- Vulkan在Android使用Compute shaderAndroid
- Meteor:全棧JavaScript開發框架的先驅全棧JavaScript框架
- Innodb: 自動開啟列印show engine status到err日誌
- 如何在 Google Cloud 上部署 EMQX 企業版GoCloudMQ
- vue部署到iisVue
- 吐血整理如何在Google Earth Engine上寫迴圈 五個程式碼例項詳細拆解Go
- gin.engine
- SSIS 部署篇-如何部署SSIS包到SqlServerSQLServer
- 基於Google earth engine python API做基於影像的定量反演——步驟及問題總結GoPythonAPI
- 將springboot部署到tomcatSpring BootTomcat
- 專案部署到LinuxLinux
- JetBrains 將其 Rider IDE 擴充套件到 Unreal Engine 遊戲開發AIIDE套件Unreal遊戲開發
- 在 Google Cloud 上輕鬆部署開放大語言模型GoCloud模型
- fio: engine libaio not loadableAI
- AIRVPS WEB APP ENGINEAIWebAPP
- 安裝 Docker EngineDocker
- VBScript Scripting Engine初探
- Google釋出App Engine第二代執行時,提供Python 3.7和PHP 7.2支援GoAPPPythonPHP
- 如何將 Google Auto Draw 移植到小程式上Go
- windows 下部署 .netcore 到 dockerWindowsNetCoreDocker
- sonarqube centos 部署到掃描CentOS
- 探究Flutter Engine除錯Flutter除錯
- Flutter Engine環境搭建Flutter
- 上傳APP到Google Play許可權問題APPGo
- 深入瞭解Flutter的isolate(4) --- 使用Compute寫isolatesFlutter
- 深入瞭解Flutter的isolate(4) — 使用Compute寫isolatesFlutter
- SAP 電商雲 Spartacus UI SSR 裡 engine 和 engine instance 的區別UI
- SpringBoot手動部署到Tomcat和自動化熱部署Spring BootTomcat熱部署
- Laravel部署到阿里雲CentOS/DebianLaravel阿里CentOS
- springboot專案部署到tomcat容器Spring BootTomcat
- 將Laravel應用部署到HerokuLaravel