温馨提示×

jellyfin在centos上的配置步骤

小樊
37
2025-12-09 14:18:30
栏目: 智能运维

在 CentOS 上部署 Jellyfin 的完整配置步骤

一 环境准备与依赖安装

  • 更新系统并安装基础工具:
    • 执行:sudo yum update -y && sudo yum install -y epel-release yum-utils wget
  • 安装运行依赖:
    • 执行:sudo yum install -y libicu fontconfig
  • 安装转码组件 FFmpeg(二选一)
    • RPM 源方式(推荐在 CentOS 7):启用 EPEL 与 RPM Fusion 后安装 FFmpeg
      • 执行:sudo yum install -y epel-release && sudo yum install -y https://download1.rpmfusion.org/free/el/rpmfusion-free-release-7.noarch.rpm && sudo yum install -y ffmpeg
    • 静态二进制方式(适用于 x86_64,版本号以实际下载为准):
      • 执行:
        wget https://johnvansickle.com/ffmpeg/builds/ffmpeg-git-amd64-static.tar.xz
        tar -xvf ffmpeg-git-amd64-static.tar.xz
        sudo cp ffmpeg-git-*-amd64-static/ffmpeg /usr/bin/
        sudo cp ffmpeg-git-*-amd64-static/ffprobe /usr/bin/
        ffmpeg -version
        
    说明:FFmpeg 为视频转码所必需;静态包方式便于快速部署且版本较新。

二 安装 Jellyfin

  • 下载并安装官方 RPM 包(以 CentOS 7 稳定版为例,文件名中的版本号可按需替换):
    wget -c https://repo.jellyfin.org/releases/server/centos/stable/web/jellyfin-web-10.8.9-1.el7.noarch.rpm
    wget -c https://repo.jellyfin.org/releases/server/centos/stable/server/jellyfin-server-10.8.9-1.el7.x86_64.rpm
    wget -c https://repo.jellyfin.org/releases/server/centos/stable/server/jellyfin-10.8.9-1.el7.x86_64.rpm
    sudo yum localinstall -y jellyfin-web-*.rpm jellyfin-server-*.rpm jellyfin-*.rpm
    
  • 启动服务并设置开机自启:
    sudo systemctl enable --now jellyfin
    sudo systemctl status jellyfin
    
  • 验证监听端口(默认 8096):
    sudo ss -lntp | grep 8096
    
    说明:上述为 RPM 本地安装方式;若网络环境受限,可先下载 RPM 再离线安装。

三 防火墙与访问初始化

  • 放行必要端口(若启用 firewalld):
    sudo firewall-cmd --zone=public --add-port=8096/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=8920/tcp --permanent
    sudo firewall-cmd --zone=public --add-port=1900/udp --permanent
    sudo firewall-cmd --zone=public --add-port=5353/udp --permanent
    sudo firewall-cmd --reload
    
    端口用途:8096/TCP(HTTP 访问)、8920/TCP(HTTPS 访问)、1900/UDP(DLNA)、5353/UDP(mDNS/Bonjour)。
  • 访问 Web 初始化向导:
    • 在浏览器打开:http://<服务器IP>:8096
    • 按向导设置:语言、管理员账号、媒体库路径(如 /mnt/media)、用户权限与远程访问。
  • 如部署在云服务器,确保安全组/ACL 同样放行上述端口。

四 转码与硬件加速配置

  • 在 Web 管理端启用硬件加速:
    • 路径:控制台 → 播放 → 硬件加速,选择如 Intel Quick SyncVAAPI(取决于 CPU/GPU 与驱动)。
  • Intel Quick Sync 示例(宿主机直装场景):
    • 将运行 Jellyfin 的用户加入视频组(常见为 video,以实际系统为准):
      sudo usermod -aG video jellyfin
      
    • 重启服务:sudo systemctl restart jellyfin
    • 在控制台选择 Intel Quick Sync 并测试播放。
  • 容器场景(Docker,示例):
    docker run -d --name jellyfin \
      -v /opt/jellyfin/config:/config \
      -v /opt/jellyfin/cache:/cache \
      -v /mnt/media:/media \
      -p 8096:8096 \
      --device /dev/dri/renderD128:/dev/dri/renderD128 \
      --device /dev/dri/card0:/dev/dri/card0 \
      --restart unless-stopped \
      jellyfin/jellyfin:latest
    
    说明:硬件加速可显著降低 CPU 占用,具体选项需与硬件和驱动匹配。

五 常见问题与优化建议

  • 媒体库权限:确保 Jellyfin 运行用户对媒体目录有读权限,例如:
    sudo chown -R jellyfin:jellyfin /mnt/media
    sudo chmod -R 755 /mnt/media
    
  • FFmpeg 路径:若使用静态编译包,建议在 控制台 → 播放 → 转码 中指定 FFmpeg 路径为 /usr/bin/ffmpeg
  • 时间与元数据:建议启用 NTP 同步,避免刮削与播放异常。
  • 日志排查:查看服务日志定位问题:
    sudo journalctl -u jellyfin -f
    
  • 安全建议:仅在需要时开启 HTTPS(8920) 与远程访问,并使用反向代理(如 Nginx)配合 Let’s Encrypt 证书。

0