本文主要是介绍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 部署任务脚本的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!