美文网首页meteor
pm2-meteor 部署到阿里云主机(Ubuntu)

pm2-meteor 部署到阿里云主机(Ubuntu)

作者: sosocom | 来源:发表于2016-11-03 04:57 被阅读205次

服务器:阿里云服务器(Ubuntu系统),其它的系统没试验

本地:MAC 系统

项目:meteor 项目

概述:为了这个部署整整折磨了两天两夜,什么mup ,mupx, meteorup 或者手动打包上传等等,甚至于想过直接在服务器整个开发环境就当部署,最终都没有成功过,遇到各种各样的问题。现在神器出来了 pm2-meteor ,使得部署终于成功了。

分两部分:

本地操作: 

1. 如果原来没有装过nodejs ,进去这里https://nodejs.org/en/ 下载安装你的版本就好了,这个安装完后,就同时拥有了node 和 npm, 利用node -v 和 npm -v,查看是否成功,显示版本号就是成功了。如果没显示,可能因为没刷新,另开一个命令窗口试试node -v 和 npm -v。

2. 安装 pm2-meteor

npm i -g pm2-meteor

3. 新建一个部署目录,进入该目录后运行初始化

mkdir App_deployment

cd App_deployment

pm2-meteor init

这样在目录下就多出一个pm2-meteor.json文件出来,这个文件就是配置部署的,里面内容要正确.

如果里面配置太多,可以拷贝以下这些进去,改成你的信息就可以了

{

"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

这回可能会提示你的服务器端没有安装Nodejs, npm, PM2

这三个东西是需要服务器端自己手动配置好的。

下面就是如果在Ubuntu上安装这三个东西

服务器端操作(安装nodejs+pm2+pm2-meteor)

利用ssh 登录你的服务器后,开始以下工作

第一步: 刷新源,这是预备工作

apt-get update

第二步:安装curl (新服务器是没有安装这个的)

apt-get install curl

第三步:获取资源,

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

第四步:安装nodejs

sudo apt-get install -y nodejs

现在新版的nodejs集成了node和npm的了,利用node -v 和 npm -v,查看是否成功,显示版本号就是成功了。

安装PM2 

npm i -g pm2

安装pm2-meteor

npm i -g pm2-meteor

另外还要安装mongodb

apt-get install mongodb

服务器端工作完成。

回到本地的命令行窗口中

在项目目录中

pm2-metetor deploy

即可完成。如果中途提示要加一些后缀才能执行,则按提示添加

最后启动项目

$ pm2-meteor start

常用的管理命令

$ pm2-meteor start

$ pm2-meteor stop

$ pm2-meteor status

$ pm2-meteor logs

删除部署

执行这个命令,需要在那个pm2-meteor.json文件中加入这个选项

'allowUndeploy': true

pm2-meteor undeploy

If something goes wrong: revert to previous version

恢复上一个发布的版本

有时候做新版本发布,去部署覆盖了,又想回到上一个的,就用这个命令:

pm2-meteor revert

后续:

如果你要对外公布多个app, 并且都对端口进行处理,不显示端口差异,统一显示80的

那就要在服务器安装nginx,

apt-get install nginx

进入目录修改配置

cd /etc/nginx

修改这个文件

nano nginx.conf

在http的大括号{}内增加以下内容

server {

    listen    *:80;

    server_name app.你的域名.com;

    location / {

        proxy_pass http://你的服务器IP:3000;

    }

}

ctrol+x 退出,输入y 按回车保存

重启nginx 

service nginx restart

去浏览器访问以下,不带端口号也可以访问了

相关文章

网友评论

    本文标题:pm2-meteor 部署到阿里云主机(Ubuntu)

    本文链接:https://www.haomeiwen.com/subject/urebuttx.html