安装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 模式