centos与jellyfin的远程访问设置
导读:CentOS 与 Jellyfin 远程访问设置 一、前置准备与基础连通 确认服务器具备公网可达的 IP 或域名,并在云厂商安全组/本机防火墙放行相应端口。 建议先通过 SSH 远程管理服务器,确保能稳定登录与排障: 安装与启动:sud...
CentOS 与 Jellyfin 远程访问设置
一、前置准备与基础连通
- 确认服务器具备公网可达的 IP 或域名,并在云厂商安全组/本机防火墙放行相应端口。
- 建议先通过 SSH 远程管理服务器,确保能稳定登录与排障:
- 安装与启动:
sudo yum install -y openssh-server & & sudo systemctl start sshd & & sudo systemctl enable sshd - 放行端口:
sudo firewall-cmd --permanent --add-service=ssh & & sudo firewall-cmd --reload - 连接测试:
ssh 用户名@服务器IP -p 22
- 安装与启动:
- 如需图形桌面远程,可另行配置 VNC/RDP,但媒体访问建议使用 Web 与反向代理方式。
二、方式一 直接端口映射访问 Jellyfin
- 安装 Jellyfin(RPM 方式,适用于 CentOS 7/8 Stream):
- 导入仓库并安装:
sudo yum install -y epel-release后按官方仓库指引安装 Jellyfin(或下载对应 RPM 包本地安装)。
- 导入仓库并安装:
- 放行防火墙端口(Jellyfin 默认 8096/TCP;若启用内置 HTTPS 则放行 8920/TCP):
sudo firewall-cmd --permanent --add-port=8096/tcpsudo firewall-cmd --permanent --add-port=8920/tcpsudo firewall-cmd --reload
- 启动服务:
sudo systemctl start jellyfin & & sudo systemctl enable jellyfin - 路由器端口转发(家庭宽带场景):将公网端口(如 8888)转发到内网服务器 IP:8096。
- 远程访问:在浏览器打开
http://公网IP:8888或http://域名:8096。 - 可选:如需仅监听所有地址,可在
/etc/jellyfin/config/config.yaml中设置server.host: "0.0.0.0"并重启服务。
三、方式二 反向代理与 HTTPS(推荐)
- 安装 Nginx:
sudo dnf install nginx & & sudo systemctl start nginx & & sudo systemctl enable nginx - 配置反向代理(示例:/etc/nginx/conf.d/jellyfin.conf):
重载 Nginx:server { listen 80; server_name your_domain_or_ip; location / { proxy_pass http://127.0.0.1:8096; proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }sudo systemctl restart nginx - 申请免费 SSL(Certbot + Nginx):
- 安装:
sudo yum install -y certbot python3-certbot-nginx - 签发并自动配置:
sudo certbot --nginx -d your_domain
- 安装:
- 访问:使用
https://your_domain直达 Jellyfin(端口 443)。 - 说明:反向代理可统一证书管理、隐藏端口、便于后续添加访问限制与日志审计。
四、方式三 Docker 部署与端口规划
- 准备目录:
sudo mkdir -p /srv/jellyfin/{ config,cache}(媒体目录按需挂载,如 /media)。 - 运行容器(示例映射常用端口与目录):
sudo docker run -d --name=jellyfin \ -p 8096:8096 -p 8920:8920 \ -p 7359:7359/udp -p 1900:1900/udp \ -v /srv/jellyfin/config:/config \ -v /srv/jellyfin/cache:/cache \ -v /media:/media \ -e TZ=Asia/Shanghai \ --restart unless-stopped \ nyanmisaka/jellyfin:latest- 端口说明:8096/8920(HTTP/HTTPS)、7359/UDP(自动发现)、1900/UDP(DLNA)。
- 防火墙放行:
sudo firewall-cmd --permanent --add-port={ 8096,8920} /tcp --add-port={ 1900,7359} /udp & & sudo firewall-cmd --reload - 硬件转码(可选,Intel Quick Sync):添加
--device=/dev/dri:/dev/dri并确保宿主机已安装相应驱动。
五、无公网 IP 与常见排障
- 无公网 IP 的两种便捷方案:
- 内网穿透:使用如 花生壳 等工具创建外网域名映射,将本地 8096 暴露到公网;可设置访问口令、IP 白名单与防护策略。
- SD-WAN/组网:如 蒲公英 等,将多地点设备组成虚拟局域网,实现内网直连访问。
- 常见排障要点:
- 云安全组/本机防火墙是否放行对应端口(如 8096/8920/TCP、1900/7359/UDP)。
- SELinux 拦截:可临时
sudo setenforce 0验证,若恢复则按需配置 SELinux 布尔值或策略。 - 日志定位:
/var/log/jellyfin/jellyfin.log查看启动、访问与插件报错。 - 路由器端口转发是否正确,外网端口与内网 IP:端口 是否一致。
- 反向代理需正确设置
X-Forwarded-For/Proto,WebSocket 路径(如/socket)按需代理。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: centos与jellyfin的远程访问设置
本文地址: https://pptw.com/jishu/781106.html
