PM2 缓存机制与更新策略指南
1. 核心结论PM2 本身不缓存源代码文件,但它会将应用程序加载到内存中运行。因此,磁盘上文件的修改不会自动反映在正在运行的进程中。
所谓的“缓存问题”,通常由以下三个机制引起:
内存常驻:代码加载后长期存在于 RAM 中。
环境变量快照:启动时抓取并锁定了环境变量。
Dump 快照:pm2 save 生成的进程列表快照。
2. 常见“缓存”现象与解决方案2.1 现象一:修改代码后,运行的还是旧逻辑原因:Node.js (或 Python 等) 解释器将代码加载到内存后,除非进程重启,否则不会重新读取磁盘上的文件。
更新方式
命令
特点
适用场景
暴力重启
pm2 restart <id>
杀死进程 –> 重新启动
开发环境 / 单实例应用
平滑重载
pm2 reload <id>
逐步重启集群中的实例 (Cluster Mode)
生产环境 (实现 0 秒停机)
2.2 现象二:修改环境变量或配置文件后无效原因:PM2 在应用首次启动时,会通过 process.env 读取当前系统的环境变量并将其持久化在 PM2 的内 ...
MissAV 全自动采集与转存系统部署教程
系统功能:
全自动监控:监控指定的分类/厂商/女优页面。
智能过盾:使用 Flaresolverr + Python 混合双打,自动绕过 Cloudflare。
自动翻页:采集完第一页后,自动寻找下一页继续采集。
去重下载:自动比对历史记录,跳过已下载视频。
速度限制:支持限制下载和上传带宽,防止跑满服务器流量。
自动上传:下载完成后自动上传至 OneDrive 并清理本地文件。
第一步:基础环境安装请以 root 用户登录您的 Ubuntu 服务器。
1. 更新系统并安装基础工具我们需要 FFmpeg (用于视频合并) 和 Python 环境。
12apt update && apt upgrade -yapt install python3 python3-pip python3-venv ffmpeg git curl -y
2. 安装 Rclone (用于上传 OneDrive)123456# 安装脚本sudo -v ; curl https://rclone.org/install.sh | sudo bash# 配置 Rclone ...
Ubuntu Server 实现 OneDrive 视频自动下载、转码与回传教程
1. 项目目标在 Ubuntu 24.04 服务器上实现自动化流程:
扫描:递归扫描 OneDrive 指定目录及其子目录下的 .ts 视频文件。
下载:将文件下载到服务器临时目录。
转码:使用 FFmpeg 将 .ts 转换为 .mp4(不改变画质,仅封装或转码音频)。
回传:将生成的 .mp4 上传回 OneDrive 原本所在的子目录。
清理:上传成功后,删除 OneDrive 上的原 .ts 文件,并清理服务器本地临时文件。
2. 准备工作
一台连接互联网的 Ubuntu 24.04 服务器(已通过 SSH 连接)。
一台本地电脑(Windows/Mac),用于获取 OneDrive 授权 Token。
一个有效的 OneDrive 账号(确保未冻结、空间充足)。
3. 环境安装在服务器终端执行以下命令,更新系统并安装核心工具:
12345678# 更新软件源sudo apt update# 安装 FFmpeg (用于视频转码)sudo apt install ffmpeg -y# 安装 Rclone (用于连接 OneDrive)sudo -v ; cur ...
MetaTube不显示问题处理
在emby中,MetaTube插件安装之后不显示的情况,需要使用旧版本MetaTube,建议使用Emby.MetaTube@v2025.410.110.0这个版本,覆盖掉新版本的插件,然后重启emby即可,然后去定时任务中把metatube插件的自动更新给关闭即可
emby添加神医助手插件
为什么要使用神医插件很多用户在 Strm 文件入库后,播放的时候,发现起播非常的慢,常常需要 10s-30s 才能开始播放,或者播放后没有播放记录,主要原因就是 Emby 在 Strm 文件入库的时候,没有去扫描文件的视频信息(如下图),如时长,分辨率,视频信息,音频信息,因此在播放的时候,Emby 发现没有这些信息,就会实时开始去扫描这些信息,因此造成了起播放慢的/没有播放记录的问题。
而神医插件可以让 Emby 在 Strm 文件入库的时候,去扫描视频信息,加快起播速度
安装下载插件前往 https://github.com/sjtuross/StrmAssistant/releases 下载插件
安装插件打开 Emby 的 Config 文件夹,将插件放入plugins文件夹中,然后重启 Emby
重启 Emby 后,在设置中看到出现神医助手的选项说明安装成功
使用常用设置如下图设置即可
提取视频信息如下图设置即可
在计划任务中,给图中的两个任务添加一个触发器,这样 Emby 会每天运行一次这两个任务,也可以手动运行,
添加 Swap 空间
一、查看当前 Swap 使用情况
1sudo swapon --show
或使用:
1free -h
输出示例:
123 total used free shared buff/cache availableMem: 2.0Gi 1.5Gi 100Mi 50Mi 350Mi 200MiSwap: 1.0Gi 500Mi 524Mi
这表示你当前有 1GB 的 Swap,其中已使用 500MB。
🛠 二、增加 Swap 大小(以添加一个 2GB 的 Swap 文件为例)✅ 步骤如下:
关闭现有 Swap
1sudo swapoff -a
⚠️ 注意:如果你正在运行一些依赖 Swap 的程序,请确保它们不会因内存不足而崩溃。
删除旧 Swap 文件(可选) 如果之前是用文件作为 Swap,比如 /swapfile,可以删除它:
1sudo rm /swapfi ...
PM2教程
PM2 教程PM2 是一个用于管理 Node.js 应用的进程管理器,也支持 Python、Ruby 等脚本语言。它能让你轻松地启动、停止、重启和监控应用。
📦 安装 PM21npm install pm2 -g
✅ 需要 Node.js 和 npm 已安装。
🚀 常用命令速查表
功能
命令
启动应用(Node.js)
pm2 start app.js --name "my-app"
启动应用(Python)
pm2 start app.py --interpreter python3 --name "my-python"
查看运行中的应用
pm2 ls
停止应用
pm2 stop <app_name_or_id>
重启应用
pm2 restart <app_name_or_id>
删除应用(从列表中移除)
pm2 delete <app_name_or_id>
查看日志
pm2 logs <app_name_or_id>
清空日志
pm2 flu ...
使用AutoFilm加快emby扫描库
AutoFilm简介通过Alist提供的Webdav获取网盘视频播放链接并生成Strm文件,可被Jellyfin/Emby等影音媒体服务器识别并直接播放
部署方式Docker部署(推荐)
1docker run -d --name autofilm -v ./config:/config -v ./media:/media -v./logs:/logs akimio/autofilm
Python部署安装Python,推荐版本Python3.12克隆项目并进入项目目录:
12git clone https://github.com/Akimio521/AutoFilm.gitcd AutoFilm
安装依赖:
1pip install -r requirements.txt
配置配置文件config.yaml启动程序:
1python app/main.py
修改配置文件 config.yml参考下面的示例
12345678910111213141516171819202122232425262728293031323334353637383940414243444 ...
使用docker安装emby
1. 安装Docker如果您还没有安装Docker,请访问Docker官网根据您的操作系统下载并安装适合的版本。
2. 拉取Emby Docker镜像打开终端或命令提示符,运行以下命令来拉取最新的Emby服务器Docker镜像:
1docker pull emby/embyserver
3. 创建并运行Emby容器使用以下命令创建并启动一个Emby容器。这将把Emby服务器映射到主机上的端口8096(默认HTTP端口),您可以根据需要调整这些设置。
1docker run -d --name embyserver --restart unless-stopped -p 8096:8096 -v /data/emby/config:/config -v /data/emby/media:/media --network="host" emby/embyserver
docker run: 这是启动一个新的容器的命令。
-d: 表示以分离模式(后台)运行容器,即容器将在后台运行而不是占用当前终端。
--name embyserver: 给容器命名为 embyser ...
MetaTube插件中文件命名规范
有码类
SSSS-001
ABC-100
PPPC-326
素人类
390JAC-132
300MAAN-783
无码类
HEYZO-1234
KIN8-1675
123456_999
543210-001
587234-01
xxx-av-1234
heydouga-1234-321
c0930-ki897634
h4610-ori98321
其他类
FC2-1234567
MYWIFE-1394
GETCHU-3456789
GCOLLE-9876554
PCOLLE-6543210
字幕标签对于硬编码的中文字幕视频,可以在末尾加入-C后缀,插件会自动为该影片加入中文字幕标签,例如:
ABC-330-C.mp4
HEYZO-1784-C.mp4
多碟影片对于多碟影片,可以在末尾加入-cd1之类的后缀,例如:
ABC-330-cd1.mp4
ABC-330-cd2.mp4
MCBD-25-C-cd1.mkv
MCBD-25-C-cd2.mkv
PS:大小写不敏感,但是注意不要混淆-与_符号。
自动修改文件名称的脚本,仅适用于linux
1234567891011121 ...
