pm2-meteor 部署到阿里云主機(jī)(Ubuntu)

服務(wù)器:阿里云服務(wù)器(Ubuntu系統(tǒng)),其它的系統(tǒng)沒試驗

本地:MAC 系統(tǒng)

項目:meteor 項目

概述:為了這個部署整整折磨了兩天兩夜,什么mup ,mupx, meteorup 或者手動打包上傳等等,甚至于想過直接在服務(wù)器整個開發(fā)環(huán)境就當(dāng)部署,最終都沒有成功過,遇到各種各樣的問題。現(xiàn)在神器出來了 pm2-meteor ,使得部署終于成功了。

分兩部分:

本地操作:?

1. 如果原來沒有裝過nodejs ,進(jìn)去這里https://nodejs.org/en/ 下載安裝你的版本就好了,這個安裝完后,就同時擁有了node 和 npm, 利用node -v 和 npm -v,查看是否成功,顯示版本號就是成功了。如果沒顯示,可能因為沒刷新,另開一個命令窗口試試node -v 和 npm -v。

2. 安裝 pm2-meteor

npm i -g pm2-meteor

3. 新建一個部署目錄,進(jìn)入該目錄后運行初始化

mkdir App_deployment

cd App_deployment

pm2-meteor init

這樣在目錄下就多出一個pm2-meteor.json文件出來,這個文件就是配置部署的,里面內(nèi)容要正確.

如果里面配置太多,可以拷貝以下這些進(jìn)去,改成你的信息就可以了

{

"appName": "hi",

"appLocation": {

"local": "/Users/sosocom/Documents/Workspace/meteor/hi"

},

"meteorSettingsLocation": "",

"meteorSettingsInRepo": false,

"prebuildScript": "",

"meteorBuildFlags": "--architecture os.linux.x86_64",

"env": {

"ROOT_URL": "http://app.your.com",

"PORT": 3000,

"MONGO_URL": "mongodb://localhost:27017/hi"

},

"server": {

"host": "47.89.10.251",

"username": "root",

"password": "your password",

"deploymentDir": "/opt/pm2-meteor",

"exec_mode": "cluster_mode",

"instances": 1

}

}


開始部署

pm2-meteor deploy

這回可能會提示你的服務(wù)器端沒有安裝Nodejs, npm, PM2

這三個東西是需要服務(wù)器端自己手動配置好的。

下面就是如果在Ubuntu上安裝這三個東西

服務(wù)器端操作(安裝nodejs+pm2+pm2-meteor)

利用ssh 登錄你的服務(wù)器后,開始以下工作

第一步: 刷新源,這是預(yù)備工作

apt-get update

第二步:安裝curl (新服務(wù)器是沒有安裝這個的)

apt-get install curl

第三步:獲取資源,

curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -

第四步:安裝nodejs

sudo apt-get install -y nodejs

現(xiàn)在新版的nodejs集成了node和npm的了,利用node -v 和 npm -v,查看是否成功,顯示版本號就是成功了。

安裝PM2?

npm i -g pm2

安裝pm2-meteor

npm i -g pm2-meteor

另外還要安裝mongodb

apt-get install mongodb

服務(wù)器端工作完成。

回到本地的命令行窗口中

在項目目錄中

pm2-metetor deploy

即可完成。如果中途提示要加一些后綴才能執(zhí)行,則按提示添加

最后啟動項目

$ pm2-meteor start

常用的管理命令

$?pm2-meteor?start

$?pm2-meteor?stop

$?pm2-meteor?status

$?pm2-meteor?logs

刪除部署

執(zhí)行這個命令,需要在那個pm2-meteor.json文件中加入這個選項

'allowUndeploy': true

pm2-meteor undeploy

If something goes wrong: revert to previous version

恢復(fù)上一個發(fā)布的版本

有時候做新版本發(fā)布,去部署覆蓋了,又想回到上一個的,就用這個命令:

pm2-meteor?revert



后續(xù):

如果你要對外公布多個app, 并且都對端口進(jìn)行處理,不顯示端口差異,統(tǒng)一顯示80的

那就要在服務(wù)器安裝nginx,

apt-get install nginx

進(jìn)入目錄修改配置

cd /etc/nginx

修改這個文件

nano nginx.conf

在http的大括號{}內(nèi)增加以下內(nèi)容

server {

? ? listen? ? *:80;

? ? server_name app.你的域名.com;

? ? location / {

? ? ? ? proxy_pass http://你的服務(wù)器IP:3000;

? ? }

}

ctrol+x 退出,輸入y 按回車保存

重啟nginx?

service nginx restart

去瀏覽器訪問以下,不帶端口號也可以訪問了

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容