node+express+pm2配置项目

2 篇文章 0 订阅

安装nodejs 并 配置服务

安装 nodejs

远程加载 官网:http://nodejs.cn/download/

wget https://nodejs.org/dist/v16.15.0/node-v16.15.0-linux-x64.tar.xz

解压tar.xz,并本地产看 ./node -v

1. zx -d xxx.tar.xz
2. tar -xf xxx.tar
cd /bin。 命令:./node -v

配置变量

vim /etc/profile
export NODE_HOME=/usr/local/node-v16.15.0
export PATH=$NODE_HOME/bin:$PATH
 // 运行
 source /etc/profile

部署项目

找位置设置项目(/opt/node/xxx)

mkdir demo
 cd /demo
 touch server.js
 npm init - y
 vim package.json 编辑文件--main:'server.js'
 npm install express

编辑 server.js (下面是简单配置)

const express = require('express')
const fs = require('fs');
const path = require('path');
var app = express();
var router = express.Router();
router.use((req, res, next) => {
  console.log('Time: ', Date.now())
  next()
})
router.get('/', (req, res) => {
    const html = fs.readFileSync(path.resolve(__dirname, './dist/index.html'), 'utf-8')
    res.send(html)
})
app.use(router);
app.use(express.static('./dist'));
app.get('*', function (req, res) {
        const html = fs.readFileSync(path.resolve(__dirname, './dist/index.html'), 'utf-8')
        res.send(html)
})
module.exports = app.listen(3000, function (err) {
    if (err) {
       console.log(err);
       return
    }
    console.log('Listening at http://localhost:' + 3000 + '\n')
});

开放端口(保证防火墙放开响应的端口)

测试 node server.js

安装pm2

pm2 是为 Node.js 线上应用设计的进程管理器。它用于管理 Node.js 应用程序的进程。它具有许多高级功能,例如应用程序集群,负载均衡等、

pm2 配置文件

pm2 init simple // 生成一个默认的简单配置 ecosystem.config.js
mv ecosystem.config.js prod.config.js
// 编辑 这个配置文件

配置文件

module.exports = {
  apps : [{
    name   : "gryTest",// 启动项目的别名
    script : "./server.js",//项目的配置文件 node server.js 一样的文件
    ignore_watch:['node_module'],//忽略监听的目录
    watch:false,//是否监听文件改动,而重启服务
    // cwd:'', //应用程序所在的目录
    env: {
       NODE_ENV: "production",
       PORT:3000
    },
    env_production: {
       NODE_ENV: "production",
       PORT:3000
    },
    env_development: {
       NODE_ENV: "development",
       PORT:3001
    }
  }]
}

常用启动命令

// 启动
pm2 start prod.server.js
pm2 start prod.config.js --env production
pm2 restart prod.config.js --env development
// 通过指定进程 id 来终止 node 应用程序进程
pm2 stop 0
// 停止后删除进程,使用delete命令指定进程 id
pm2 delete 0
// 列出 pm2 正在运行的所有进程:
pm2 list

线上部署项目 参照:Vue history 模式

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值