CentOS 上 Jellyfin 故障排查与修复指南
一 快速定位问题
- 查看服务状态与最新日志:
- 使用命令:systemctl status jellyfin,关注 Active、Main PID、日志片段中的报错关键词。
- 实时查看服务日志:journalctl -u jellyfin -f,定位启动或运行期的异常堆栈与报错行。
- 查看应用日志文件:tail -f /var/log/jellyfin/jellyfin.log,获取更细的启动与运行细节。
- 检查端口监听与连通性:
- 端口检查:ss -tulnp | grep 8096 或 netstat -tulnp | grep 8096,确认 8096 处于监听。
- 连通性测试:在服务器本机执行 curl -I http://127.0.0.1:8096;远程浏览器访问 http://服务器IP:8096,排除防火墙/安全组拦截。
二 常见故障与修复
- 依赖缺失导致启动失败:
- 安装基础依赖:yum install libicu fontconfig -y,然后重启服务:systemctl restart jellyfin。
- FFmpeg 未安装或路径异常(转码不可用、播放报错):
- 启用 RPM Fusion 并安装 FFmpeg:yum install epel-release -y && yum install https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm -y && yum install ffmpeg -y。
- 若手动部署,确保 /usr/bin/ffmpeg 与 /usr/bin/ffprobe 存在且可执行;在 Jellyfin 控制台设置 FFmpeg 路径。
- 配置文件损坏或参数错误:
- 配置文件常见位置:RPM 包安装为 /etc/jellyfin/;容器部署为映射的 /config/。
- 备份后对照默认配置修正,或临时移走异常配置让服务以默认配置启动,再逐项恢复。
- SELinux 拦截访问(媒体库/日志目录不可读/不可写):
- 临时放宽策略测试:setenforce 0;若恢复正常,使用 semanage fcontext/restorecon 为 Jellyfin 目录设置正确上下文,或按需配置布尔值,最后恢复 setenforce 1。
- 防火墙/云安全组阻断:
- 放行端口:firewall-cmd --add-port=8096/tcp --permanent && firewall-cmd --reload;如使用云服务器,同步在控制台安全组放行 TCP 8096。
- 资源与性能问题(CPU/内存飙升、播放卡顿):
- 排查高占用进程:top/htop;查看实时日志与网络端口占用,定位异常任务或并发播放过多导致的瓶颈。
三 关键配置与路径
- 日志与监控:
- 服务日志:journalctl -u jellyfin -f;应用日志:/var/log/jellyfin/jellyfin.log;建议配置 logrotate 做日志轮转,避免磁盘被占满。
- 配置文件与数据目录:
- RPM 安装常见路径:配置 /etc/jellyfin/,缓存与数据库在 /var/lib/jellyfin/,日志 /var/log/jellyfin/;容器部署请确认 /config 与媒体库目录已正确映射且权限一致。
- 网络与端口:
- 默认访问端口 8096(HTTP)。如需外网访问,确保端口开放与监听正常。
四 无法启动时的稳妥恢复
- 回滚或重装:
- 先备份 /etc/jellyfin/ 与 /var/lib/jellyfin/ 下的数据与配置;卸载后从官方仓库重新安装对应 CentOS 版本的 Jellyfin RPM 包,再恢复配置与媒体库路径。
- 最小化验证:
- 启动服务:systemctl start jellyfin;确认状态:systemctl status jellyfin;访问 http://IP:8096 验证是否能打开初始化页面。
五 提交有效求助信息
- 请准备并附上以下要点,便于快速定位:
- 系统版本:cat /etc/centos-release
- Jellyfin 版本:jellyfin --version 或管理界面“关于”
- 安装方式:RPM 包/容器(Docker/Podman)
- 启动方式:systemctl status jellyfin 的完整输出
- 关键日志片段:journalctl -u jellyfin -n 200 与 tail -n 200 /var/log/jellyfin/jellyfin.log
- 网络与防火墙状态:ss -tulnp | grep 8096、firewall-cmd --list-ports
- 相关配置与目录权限:ls -ld /etc/jellyfin /var/lib/jellyfin /var/log/jellyfin /你的媒体库路径