Nodejs Meteor 项目部署到自有服务器中
Nodejs Meteor 项目部署到自有服务器中
meteor 项目部署
meteor 项目有多种部署方式,可以选择部署到 meteor 官方推荐的 Galaxy 平台,但由于国内网络的原因,这种方式并不适合当下国情。另外,还有两种部署到自有服务器中的方法。
ps:本文章重点讲解 mup 的部署方式
mup
mup 的部署方式也是当前我所采用的部署方案,其高效的部署过程,使得欲罢不能。但是由于种种原因,导致国内外多数 meteor 开发者无法使用 mup 部署,其原因大概如下:
- 网络原因。通过配置国内源解决这个问题。目前,我的方案是, npm 使用淘宝, docker 使用 daocloud 。
- 版本原因。通过修改 meteor 项目的版本(1.4 及以上), mup 的版本, node(4.4.7), npm(2.15.8)的版本来解决。
- dockerImage 原因。由于 mup 部署工具历史原因,选择一个合适的 dockerImage ,是非常重要的。
下面将重点讲述 meteor 项目 mup 的部署方法。(以下方法仅限于 meteor 1.4 及 1.4.x 版本)
-
安装 mup ,初始化部署文件(见底部)。
-
配置文件, mup.js , settings.json
-
mup.js
如下module.exports = { servers: { //服务器配置 one: { host: 'xxx.xxx.xxx.xxx', username: 'root', password: 'password' } }, meteor: { name: 'projectName', path: 'projectPath', servers: { one: {} }, env: { //占用服务端口 PORT: 8007, //cdn 地址 CDN_URL:'xxxx', //根域名地址 ROOT_URL: 'http://www.ohuoyi.com', //mongodb 数据库地址 MONGO_URL: 'xxx' }, //指定 docker image. //这个地方是大多数人错误的地方,由于默认的 image 存在问题,所以必须填写如下的地址
dockerImage:"abernix/meteord:base", //waitTime,由于国内的原因,这个世界尽量大一些.120-200 deployCheckWaitTime: 120 //default 10 }
};
-
settings.json
,如下{ "public": { // 根据需要填写 // 如下是使用 ga 统计包含的 id "analyticsSettings": { "Google Analytics": { "trackingId": "xxxx" } } } }
-
-
执行相关指令
-
mup setup
,成功执行截图如下 -
mup deploy
,成功执行截图如下
-
-
顺利完成上述操作后,通过 IP:PORT 方式即可访问了,如需加上域名,可选择 nginx 反向代理。如果使用 cdn ,在 nginx 配置中加入 cdn ,否则可能出现可以访问,但无法使用的现象。
通过上面这种方式,笔者已经成功部署了多个项目,每次部署大概耗时 5 分钟左右。如果你有问题,可以来我的论坛交流。 http://coderapp.ohuoyi.com
build & deploy
这种方式的其实已经被上述的方式集成化了,这种方式的原理大致如下,
- 本地打包项目部署文件
meteor build
- 上传到服务器
- 解压部署文件,执行
由于笔者偷懒,掌握 mup 的部署方式后,就不在折腾了这种方法了。但是这是不!对!的!希望能折腾的同学使用后与我交流。我们交流的地方无疑还是那个论坛。 http://coderapp.ohuoyi.com
以上
附件资料
如果使用 pm2 管理 meteor 项目,推荐 pm2-meteor
怎没不 at 我一下?一直在用的
在将Node.js和Meteor项目部署到自有服务器时,您需要遵循以下步骤。假设您已经拥有了一台配置好Node.js和MongoDB的服务器。
-
准备项目文件: 确保您的项目在本地已经构建成功并且能够通过
meteor run
命令运行。 -
安装Meteor: 在服务器上安装Meteor,可以使用以下命令:
curl https://install.meteor.com/ | sh
-
上传项目文件: 使用
scp
、rsync
或者任何您喜欢的文件传输工具将项目文件上传到服务器。 -
配置环境变量: 根据需求配置环境变量,比如设置
PORT
和MONGO_URL
:export PORT=3000 export MONGO_URL=mongodb://localhost:27017/yourdbname
-
构建和运行项目: 在项目根目录下运行以下命令来构建和优化项目:
meteor build --directory ./output cd ./output/bundled/programs/server npm install node main.js
或者,如果您只是想直接运行(不推荐用于生产环境):
meteor npm install meteor run --production
-
配置反向代理(如Nginx): 为了管理请求和提供HTTPS支持,建议配置Nginx作为反向代理。
-
监控和维护: 使用工具如
pm2
或forever
来确保Node.js进程在崩溃时自动重启。
以上步骤提供了一个基础的部署流程,根据具体需求可能需要进行调整和优化。