分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 运营维护

一种简单的生产环境部署Node.js程序方法

发布时间:2023-09-06 01:07责任编辑:顾先生关键词:jsNode

最近在部署Node.js程序时,写了段简单的脚本,发觉还挺简单的,忍不住想与大家分享。

配置文件

首先,本地测试环境和生产环境的数据库连接这些配置信息是不一样的,需要将其分开为两个文件存储 到config目录下,比如:

开发环境配置文件config/development.js

module.exports = { ?port: ?3001, ?mysql: { ???user: ‘root‘ ?}};

生产环境配置文件config/production.js:

module.exports = { ?port: 80, ?mysql: { ???user: ‘myapp‘, ???password: ‘2zbonsjzl305vkh3‘ ?}};

另外还要建立一个程序自动载入相应环境的配置,文件config/index.js

var path = require(‘path‘);// 通过NODE_ENV来设置环境变量,如果没有指定则默认为生产环境var env = process.env.NODE_ENV || ‘production‘;env = env.toLowerCase();// 载入配置文件var file = path.resolve(__dirname, env);try { ?var config = module.exports = require(file); ?console.log(‘Load config: [%s] %s‘, env, file);} catch (err) { ?console.error(‘Cannot load config: [%s] %s‘, env, file); ?throw err;}

假设应用的入口文件是app.js,可通过以下方法载入配置:

var config = require(‘./config‘);console.log(‘listen on port %s‘, config.port);// 如果是开发环境,将输出 listen on port 3001// 如果是生产环境,将输出 listen on port 80

本地开发测试

为了方便,我新建一个脚本文件run,代码如下:

export NODE_ENV=developmentnode app

要启动程序,直接在命令行下执行./run即可。

部署应用

新建部署脚本文件deploy,代码如下:

git reset --hardgit pull origin HEADnpm installpm2 stop myapp -fpm2 start app.js -n myapp

此段代码会自动拉去git仓库中最新的一次提交的代码,并使用npm来安装package.json中列出的模块, 然后先停止之前已启动的应用实例,再启动。

为了方便传输代码到服务器端,需要将程序代码提交到一个私有的git仓库,首次在服务器端部署时, 需要先将代码clone到服务器端,比如:

git clone git[@github](/user/github).com:leizongmin/node-uc-server.git ~/myapp

应用在服务器端运行时使用pm2工具来管理进程,所以还需要先在服务器上安装此工具:

npm install pm2 -g

完成以上准备工作后,我们就可以通过deploy脚本来实现自动更新代码:

  • 将本地修改提交到远程git仓库
  • 登录服务器,进入~/myapp目录
  • 执行./deploy

以上程序执行的环境为Linux,如果开发环境是Windows,需要将run文件改为以下代码:

set NODE_ENV=developmentnode app

一种简单的生产环境部署Node.js程序方法

原文地址:http://www.cnblogs.com/wangluochong/p/7451481.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved