當前位置:編程學習大全網 - 源碼下載 - 如何在centos上部署meteor應用

如何在centos上部署meteor應用

第壹部分,Meteor項目部署的步驟和坑點

首先說壹下Meteor項目部署的步驟流程和壹些細節點,這部分內容適合在任何平臺上部署的情況。

1,項目打包

meteor build ../production --architecture os.linux.x86_64

這裏 --architecture 參數非常重要,這個是指定妳部署服務器的運行環境,打包的過程會根據這個環境來編碼和打包源代碼。

../production 代表打包好的包文件在../production 這個目錄裏,這個地址妳可以任意指定。

2,將發布包上傳到服務器

cd ../production

scp my-project.tar.gz root@192.168.0.100:/opt/www/

上傳到服務器可以用任何合適的方法,我為了演示簡便就使用scp的方式。

3,解壓發布包

ssh root@192.168.0.100

cd /opt/www/

tar zxvf my-project.tar.gz

註意:這部分內容是在服務器上操作的

找到這個發布包,解壓發布包

4,配置安裝項目所需要的插件包

cd bundle/programs/server

npm install

my-project.tar.gz文件會解壓出壹個bundle目錄,而bundle/programs/server目錄就是項目server代碼所在的目錄。

所以進入這個目錄,運行npm install,npm會自動安裝所需的插件、組件。

5,運行meteor

cd ../../

node main.js

或者

export ROOT_URL=

node main.js

雖然服務器代碼在 bundle/programs/server 目錄裏,但入口文件在 bundle 目錄下,所以退出來到 bundle,然後運行node main.js 啟動服務。

在啟動之前可以通過 export ROOT_URL= 方式設置壹些環境變量來配置meteor項目的運行。

6,服務器環境搭建和配置

如果在第五步發現妳無法運行或者報錯了,有可能是妳沒有安裝nodejs,也有可能是妳的nodejs版本不對。

meteor 1.3.2 所需要的 nodejs 版本是0.10.43,過高的nodejs版本也會導致meteor項目部署運行報錯。

在這說壹下nodejs的版本號的問題,不要看0.10.43版本號好像很小,懷疑它不是穩定的版本,之所以nodejs現在最大的版本號會有6.2.0這種很大的編號,是因為之前nodejs的開發團隊分裂過,現在有合並在壹起了,所以導致版本號比較混亂。6.2.0如果以之前的版本號演進的話大概也就是0.16.0。

不管妳是否安裝過nodejs或者版本不對,都先安裝nvm,鑒於nodejs這麽混亂的版本號所以需要壹個nvm這樣的工具來管理不同的nodejs版本。

安裝nvm

curl -o- /creationix/nvm/v0.31.1/install.sh | bash

安裝和使用 nodejs 0.10.43

nvm install 0.10.43

nvm use 0.10.43

通過這壹系列的操作,妳基本部署完成妳的項目了,但每次開發壹個新版本就要這樣部署壹下有些麻煩,所以就有人寫了壹些部署meteor項目的工具。

第二部分,壹鍵部署工具介紹和使用

其中官方推薦的是mup,mup是將meteor項目部署到服務器主機上。mup還有壹個版本mupx,可以將meteor項目部署到docker容器上。

但mup和mupx都只支持ubuntu/debian架構的服務器,而且在國內的網絡環境下運行非常慢,因為它們都沒有針對國內的網絡環境優化npm pacakge服務器。

所以我在mupx的基礎將服務器代碼移植到CentOS平臺上,項目地址在這 mup for centos,如果需要在CentOS上部署,可以到這裏去下載使用。github的項目首頁有詳細的使用說明。在這裏我簡單的講壹下如何使用mup for centos壹鍵部署Meteor項目到服務器。

1,下載、安裝mup for centos

cd /usr/local

git clone /romejiang/mupx.git

ln -s mupx/bin/mup bin/mup

mup

進入/usr/local/目錄,壹般的第三方工具都安裝在這。

git下載工具源碼,ln連接mup命令

然後執行 mup 命令,如果有顯示幫助信息就說明安裝完成了。

2,建立項目部署目錄

cd ~/projects/myproject

mkdir .deploy

cd .deploy

mup init

進入妳的meteor項目所在的目錄,建立壹個隱藏目錄 .deploy,並進入目錄,在目錄裏初始化部署腳本。

3,編輯部署腳本 mup.json

{

"servers": [

{

"host": "jcw", // 部署服務器的地址 ip 或者 域名

"username": "root", // 服務器用戶名

// "password": "password", // 服務器密碼

"pem": "~/.ssh/id_rsa", // 可以用ssh驗證,就不需要配置密碼了

"env": {} // 服務器需要的環境變量

}

],

"appName": "zhiq", // 項目的名稱,這個很重要,如果是多個項目部署到壹個服務器上,這個名字不能重復,否則會覆蓋其他項目

"app": "/Users/rome/Projects/meteor/zhiq", // meteor項目在妳本地的目錄地址

"env": {

"PORT": 8181, // 端口,多個項目部署到同壹個服務器,也需要修改為不同的端口

"ROOT_URL": "/test" // 項目真實的訪問地址

},

"dockerImage": "romejiang/meteor:v53" // 使用的 Docker 鏡像

}

部署腳本裏有很多參數,但上面這幾個是妳會用到的,其他的參數可以不用動,默認值就好。

4,初始化服務器環境

mup setup

mup會根據需要對服務器的配置部署環境,會自動安裝docker,mongodb,更新壹些包。

5,部署項目

mup deploy

部署項目,項目會部署到服務器的/opt/目錄下。

6,再次部署

mup deploy

壹次每次更新了代碼再次部署是只需要運行 , mup deploy 即可。

  • 上一篇:國內有哪些公司影視特效做的比較好?
  • 下一篇:源代碼分割操作的示例
  • copyright 2024編程學習大全網