pm2 启动 nodejs 项目
首先全局安装
npm i pm2 -g
最基础的使用方法
pm2 start xxx
这种方法一般都不会满足我们的需求,因为我们在package.json
中配置的start
,一般都不是只有运行一个文件这么简单,比如我举一个例子
"npm start": "cross-env NODE_ENV=production nodemon --inspect ./bin/server.js",
想要实现上边的方法,可以先创建一个配置文件
pm2 init simple
创建配置文件
运行完成后,会创建一个ecosystem.config.js
文件
module.exports = {apps : [{name : "app1",script : "./app.js"}]
}
最基础的配置文件中,只有两个配置
name
: 应用名称
script
: 运行脚本的位置
看看我要实现的功能,除了运行外,做了三件事
"cross-env NODE_ENV=production nodemon --inspect ./bin/server.js",
NODE_ENV
: 配置环境参数nodemon
: 监听修改,自动更新--inspect
: log在谷歌浏览器控制台上
1-配置环境参数
在配置中配置如下
env: {NODE_ENV: "production",...
},
也可以配置多个
env: {NODE_ENV: "development",...
},
env_dev: {NODE_ENV: "development",...
},
env_pro: {NODE_ENV: "production",...
},
在运行项目时,添加指定的环境,如执行 pm2 start ecosystem.config.js --env development
2-监听修改,自动更新
可以通过watch属性进行设置,当watch中的文件被修改时,项目就会更新
watch: ["bin","config","routers","utils"
],
还可以添加ignore_watch
属性,设置不坚挺的目录
ignore_watch: ["node_modules",
],
3-log在谷歌浏览器控制台上
可以通过配置node_args
属性来设置--inspect
方法
node_args: ['--inspect']
最后放上demo的完整配置
module.exports = {apps: [{name: "node-server", // 应用名称script: "./bin/server.js", // 启用的脚本地址node_args: ['--inspect'], // 传递给节点可执行文件的参数env: { // 我的demo项目中不需要这个,就没有配置NODE_ENV: "production"},watch: [ // 监听 更新"bin","config","routers","utils"],ignore_watch: [ // 不监听的目录 "node_modules",],error_file: "./logs/pm2/app-err.log", // 错误日志路径out_file: "./logs/pm2/app-out.log", // 普通日志路径autorestart: true // 程序崩溃后自动重启}]
}
----------end----------
pm2 启动 nodejs 项目相关推荐
- 在Centos上启动nodejs项目,并使用pm2管理nodejs应用
node+koa2+mysql入门可以查看这篇文章https://blog.csdn.net/qq_41231694/article/details/123788781 一.在centos上安装nod ...
- PM2 部署 nodejs 项目
PM2 部署 nodejs 项目 在网上找到pm2.目前似乎最常见的线上部署nodejs项目的有forever,pm2这两种. 使用场合: forever管理多个站点,每个站点访问量不大,不需要监控. ...
- 使用glup启动nodejs项目
install gulp -g 下面的步骤到要启动的项目目录下 npm install gulp –save-dev npm install natives 启动命令:gulp 遇到的错误 这是不能找 ...
- pm2启动node项目
前端项目部署阿里云要配置nginx,然后启动nginx就可以了, 如果是node服务,想一直启动,可以用PM2 ,PM2 是具有内置负载均衡器的 Node.js 应用程序的生产流程管理器.它允许您使应 ...
- pm2启动的项目如何修改名字
一开始我用pm2 start项目的时候没有起名字,然后默认name就用了这个文件名了,现在我想在修改这个名字.可以执行下面这个命令 pm2 restart dev-server --name newn ...
- 如何将nodejs项目程序部署到阿里云服务器上
将nodejs项目程序部署到阿里云服务器上 一.概述 二.具体步骤 1.拥有自己的服务器 2.下载Xshell 3. oneinstack配置web环境 4. XShell连接远程主机 5.更新系统软 ...
- NODEJS项目实践0.4 [domain,pm2,log4js,md5]
一.前言 ⋅⋅⋅上节我们基于mongo数据存取的操作,实现了用户注册.登录.退出功能,并应用了初级的权限验证.本节将处理nodejs异常情况.加密.日志及进程守护. git : https://git ...
- EXPRESS项目PM2启动NODE_ENV传参数不生效问题解决方法
EXPRESS项目PM2启动NODE_ENV传参数不生效问题解决方法 参考文章: (1)EXPRESS项目PM2启动NODE_ENV传参数不生效问题解决方法 (2)https://www.cnblog ...
- 启动egg项目时报错ERROR 11104 nodejs AgentWorkerDiedError [master] agent_worker#1:9544 died (code : 1, signa
今天在使用命令行启动egg项目,执行 npm run dev时总是报错 2020-06-11 10:44:32,332 ERROR 11104 nodejs.AgentWorkerDiedError: ...
- 使用pm2启动node文件_使用 PM2 管理nodejs进程
pm2 是一个带有负载均衡功能的Node应用的进程管理器. 当你要把你的独立代码利用全部的服务器上的所有CPU,并保证进程永远都活着,0秒的重载, PM2是完美的. 它非常适合IaaS结构,但不要把它 ...
最新文章
- swt能单独在linux运行么,java – 在Mac上运行基于SWT的跨平台jar
- stm32l0的停止模式怎么唤醒_探索者 STM32F407 开发板资料连载第二十二章 待机唤醒实验
- Python Module — asyncio 协程并发
- Python 技巧篇-如何避免python报错导致强制关闭窗口
- 不小心关闭了explorer.exe进程,桌面变白解决办法
- 5.5.2 最小的N个和
- android自定义控件实例
- 4 手把手,整合 RabbitMQ Spring 家族
- python函数的嵌套和递归_Python通过递归函数输出嵌套列表元素
- DAY37-Python入门学习-进程池与线程池、协程、gevent模块
- 晚上的笔记:p2p vod
- 苹果手机sim卡无效怎么办_苹果手机存储空间不足怎么办
- fl studio mobile安卓,ios下载
- 小米(社招)测试开发面经-小米手机管家
- 华为实习结束后,鹅厂和字节跳动递来的offer让我手足无措
- 【Windows包管理器(choco)】choco : 无法将“choco”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正 确,然后再试一次。
- python中各种序列/容器的索引、切片小结;如何取得可迭代对象中的element?如何取元素?
- Excel VBA:更改图表数据标记大小和曲线粗细
- Lifecycle 使用与源码分析
- 总谐波失真80_如何将总谐波失真(THD)控制着10%以下? - 全文