PM2 部署任务脚本

2024-04-12 15:20
文章标签 部署 脚本 任务 pm2

本文主要是介绍PM2 部署任务脚本,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

进程脚本多了之后,在服务器上运行的时候,如果纯手工启动就很麻烦,就想着使用pm2来作为进程管理工具,
优点就是:
1、可以定时执行脚本;
2、指定日志输出,小脚本就不需要额外再写日志输出模块;
2、进程启动,关闭,添加都比较方便,命令也很简单
缺点:
1、如果脚本过多,PM2也不方便进行管理了,这种只适合常驻脚本、服务,或者是几十个固定脚本
2、直接查看日志信息的时候,pm2 log id, 打印出来的中文日志,直接查看,发现会有乱码,目前还没有解决

记录下部署的步骤,我这边使用的是windows, 不过跟liunx应该是一样的

1、安装nodejs: https://blog.csdn.net/finghting321/article/details/105563346, 到step4
2、安装PM2:https://blog.csdn.net/kevlin_V/article/details/119551742?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_baidulandingword~default-0-119551742-blog-105563346.235^v43^pc_blog_bottom_relevance_base5&spm=1001.2101.3001.4242.1&utm_relevant_index=3。npm install pm2 -gnpm install pm2-windows-startup -g			这是windows时可以使用web页面查看进程,liunx则不需要pm2 -v     查看pm2有没有安装正常,如果没有正常安装则有可能是环境变量没有自动配好,需要手动配置:https://blog.csdn.net/Ai_Zbh/article/details/121135459pm2-startup install 
3、cmd.exe   cd 到项目目录下,../tiktok_project/
4、pm2 start ecosystem.config.js	使用文件批量启动进程
5、pm2 list 查看进程
6、pm2 logs 进程id 查看日志

ecosystem.config.js 文件示例范围, 当然也可以直接使用命令直接启动,这个文件只不过将它记录下来,启动的时候方便批量启动

//使用PM2启动不同的脚本进程
//直接进行定时脚本部署的话,需要将autorestart设置为false, 然后加上cron_restart参数
//如果进程是异步处理的话,则需要修改min_uptime值,修改小一些为100,避免重复启动
module.exports = {apps: [{name: '订单信息发送给用户',script: 'ziniao_chrome/order_exception.py', // 你的 Python 脚本路径interpreter: 'venv/Scripts/python.exe', // 如果你使用虚拟环境,指定虚拟环境中的 Python 解释器路径instances: 1, // 应用实例数量autorestart: true, // 应用程序崩溃时自动重启watch: false, // 是否监听文件变化max_memory_restart: '1G', // 内存达到上限时自动重},// {//     name: 'TTshipping面单上传易达云',//     script: 'ziniao_chrome/order_print_document.py', // 你的 Python 脚本路径//     interpreter: 'venv/Scripts/python.exe', // 如果你使用虚拟环境,指定虚拟环境中的 Python 解释器路径//     instances: 1, // 应用实例数量//     autorestart: true, // 应用程序崩溃时自动重启//     watch: false, // 是否监听文件变化//     max_memory_restart: '1G', // 内存达到上限时自动重// },{name: '定时应收订单-补偿金脚本(16:10)',script: 'ziniao_chrome/order_payable_spider.py', // 你的 Python 脚本路径interpreter: 'venv/Scripts/python.exe', // 如果你使用虚拟环境,指定虚拟环境中的 Python 解释器路径instances: 1, // 应用实例数量autorestart: false, // ****应用程序崩溃时自动重启,但是定时的时候需要把这个关掉cron_restart: '10 16 * * *', // ***每天16:10重启应用watch: false, // 是否监听文件变化max_memory_restart: '1G', // 内存达到上限时自动重}]
};

这篇关于PM2 部署任务脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/897504

相关文章

闲置电脑也能活出第二春?鲁大师AiNAS让你动动手指就能轻松部署

对于大多数人而言,在这个“数据爆炸”的时代或多或少都遇到过存储告急的情况,这使得“存储焦虑”不再是个别现象,而将会是随着软件的不断臃肿而越来越普遍的情况。从不少手机厂商都开始将存储上限提升至1TB可以见得,我们似乎正处在互联网信息飞速增长的阶段,对于存储的需求也将会不断扩大。对于苹果用户而言,这一问题愈发严峻,毕竟512GB和1TB版本的iPhone可不是人人都消费得起的,因此成熟的外置存储方案开

阿里开源语音识别SenseVoiceWindows环境部署

SenseVoice介绍 SenseVoice 专注于高精度多语言语音识别、情感辨识和音频事件检测多语言识别: 采用超过 40 万小时数据训练,支持超过 50 种语言,识别效果上优于 Whisper 模型。富文本识别:具备优秀的情感识别,能够在测试数据上达到和超过目前最佳情感识别模型的效果。支持声音事件检测能力,支持音乐、掌声、笑声、哭声、咳嗽、喷嚏等多种常见人机交互事件进行检测。高效推

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

在 Windows 上部署 gitblit

在 Windows 上部署 gitblit 在 Windows 上部署 gitblit 缘起gitblit 是什么安装JDK部署 gitblit 下载 gitblit 并解压配置登录注册为 windows 服务 修改 installService.cmd 文件运行 installService.cmd运行 gitblitw.exe查看 services.msc 缘起

Solr部署如何启动

Solr部署如何启动 Posted on 一月 10, 2013 in:  Solr入门 | 评论关闭 我刚接触solr,我要怎么启动,这是群里的朋友问得比较多的问题, solr最新版本下载地址: http://www.apache.org/dyn/closer.cgi/lucene/solr/ 1、准备环境 建立一个solr目录,把solr压缩包example目录下的内容复制

centos6一键安装vsftpd脚本

centos6一键安装vsftpd脚本 手动安装vsftpd参考教程:Centos下安装Vsftpd的图文教程 vsftpd脚本功能: 1.安装 (命令执行:sh xxx.sh)2.添加ftp用户 (命令执行:sh xxx.sh add)3.卸载vsftpd (命令执行:sh xxx.sh uninstall) 测试环境:centos6 x64 centos6 x86(测试centos7以

Spring Roo 实站( 一 )部署安装 第一个示例程序

转自:http://blog.csdn.net/jun55xiu/article/details/9380213 一:安装 注:可以参与官网spring-roo: static.springsource.org/spring-roo/reference/html/intro.html#intro-exploring-sampleROO_OPTS http://stati

Android逆向(反调,脱壳,过ssl证书脚本)

文章目录 总结 基础Android基础工具 定位关键代码页面activity定位数据包参数定位堆栈追踪 编写反调脱壳好用的脚本过ssl证书校验抓包反调的脚本打印堆栈bilibili反调的脚本 总结 暑假做了两个月的Android逆向,记录一下自己学到的东西。对于app渗透有了一些思路。 这两个月主要做的是代码分析,对于分析完后的持久化等没有学习。主要是如何反编译源码,如何找到

Lua 脚本在 Redis 中执行时的原子性以及与redis的事务的区别

在 Redis 中,Lua 脚本具有原子性是因为 Redis 保证在执行脚本时,脚本中的所有操作都会被当作一个不可分割的整体。具体来说,Redis 使用单线程的执行模型来处理命令,因此当 Lua 脚本在 Redis 中执行时,不会有其他命令打断脚本的执行过程。脚本中的所有操作都将连续执行,直到脚本执行完成后,Redis 才会继续处理其他客户端的请求。 Lua 脚本在 Redis 中原子性的原因

CentOs7上Mysql快速迁移脚本

因公司业务需要,对原来在/usr/local/mysql/data目录下的数据迁移到/data/local/mysql/mysqlData。 原因是系统盘太小,只有20G,几下就快满了。 参考过几篇文章,基于大神们的思路,我封装成了.sh脚本。 步骤如下: 1) 先修改好/etc/my.cnf,        ##[mysqld]       ##datadir=/data/loc