全球主机交流论坛

标题: 「宝塔Nginx」使用Nginx反向代理加速Plex流媒体 [打印本页]

作者: Meocat    时间: 2021-12-1 19:18
标题: 「宝塔Nginx」使用Nginx反向代理加速Plex流媒体
本帖最后由 Meocat 于 2021-12-4 16:51 编辑

适用于有一台性能鸡与一个反代机的情况
性能鸡负责解码和转码,反代机则通过友好的线路传输给你
我本人是用绿云8核的机器做软解,然后通过斯巴达进行二次反代
图文版请查看 https://www.hfdem.net/plex_with_nginx/ 我本人水平也不高 请大家多提意见
1、2节讲Plex和宝塔的安装;3、4节讲Nginx反代和面板设置的细节 这里只复制了第三四节的文本部分
如果已经有plex和宝塔的环境,可以直接看3、4节关于反代的设置

3 宝塔Nginx反代

环境:

一个性能好的VPS装Plex进行解码并装宝塔进行初步反代,代号VPS-1

一个线路友好的VPS装宝塔作为前端用来二次反代,代号VPS-2

一个域名如plex.hfdem.net指向VPS-2的IP
3.1 VPS-1宝塔Nginx设置

网站-添加站点 域名为指向VPS-2的域名plex.hfdem.net

在该站点的配置文件中删除对css等的缓存,添加如下字段并保存:

    client_max_body_size 5000M;
    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;
    proxy_set_header Sec-WebSocket-Extensions $http_sec_websocket_extensions;
    proxy_set_header Sec-WebSocket-Key $http_sec_websocket_key;
    proxy_set_header Sec-WebSocket-Version $http_sec_websocket_version;
    proxy_cache off;
    proxy_redirect off;
    proxy_buffering off;
    location / {
        proxy_pass http://127.0.0.1:32400/;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_ssl_verify off;
        proxy_http_version 1.1;
        proxy_set_header Host $http_host;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;
    }

3.2 VPS-2宝塔Nginx设置

网站-添加站点 域名为指向VPS-2的域名plex.hfdem.net
3.2.1 修改hosts

SSH连接到VPS-2,使用你惯用的编辑器打开/etc/hosts并添加

VPS-1的IP plex.hfdem.net

3.2.2 配置SSL

为了避免版权问题,建议对流量进行SSL加密

宝塔要求在配置反代前先配置SSL,设置-SSL-Let’s Encrypt-申请

成功后也要复制密钥(KEY)与证书(PEM格式)到VPS-1的SSL中,设置-SSL-其他证书-粘贴-保存

两边都建议打开右上角的的强制HTTPS
3.2.3 配置反向代理

在该站点的配置文件中删除对css等的缓存,添加如下字段并保存(请自行修改域名):

    client_max_body_size 5000M;
    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;
    proxy_set_header Sec-WebSocket-Extensions $http_sec_websocket_extensions;
    proxy_set_header Sec-WebSocket-Key $http_sec_websocket_key;
    proxy_set_header Sec-WebSocket-Version $http_sec_websocket_version;
    proxy_cache off;
    proxy_redirect off;
    proxy_buffering off;
    location / {
        proxy_pass https://plex.hfdem.net/;
        proxy_set_header X-Forwarded-For $remote_addr;
        proxy_ssl_verify off;
        proxy_http_version 1.1;
        proxy_set_header Host plex.hfdem.net;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;
    }

宝塔反代完成,打开你的域名看看能否进入Plex的面板,如果一切正常下面开始Plex面板的设置
4 Plex面板设置

如果反代正常,那么从反代的面板网址进入的流量将会经过VPS-2的中转并到达VPS-1

但是在使用app.plex.tv或APP等客户端时的流量还会直连到VPS-1

如果希望客户端也能被中转,需要在面板中进行如下设置

设置-网络

    取消勾选“启用中转”

    自定义服务器访问URL添加 https://yourdomain:443

设置-远程访问

禁用远程访问

设置完毕,至此所有流量都将经过VPS-2的中转到达VPS-1

可在Web端播放视频时打开f12开发者工具-网络,查看媒体文件的链接是否来自于你的域名

或者在播放视频时打开VPS-2的宝塔面板查看流量变化
作者: mgwx    时间: 2021-12-1 19:21
支持 我今天刚吧plex卸载 卡死我了
作者: ggk    时间: 2021-12-1 19:23
支持!
作者: weixiangnan    时间: 2021-12-1 19:31
支持下
作者: Meocat    时间: 2021-12-1 19:54
mgwx 发表于 2021-12-1 19:21
支持 我今天刚吧plex卸载 卡死我了

播放时Plex服务端CPU占用太高,播放不顺畅

说明搭建Plex服务端的机器CPU太弱,无法适应软解的性能需要,建议Intel E5四核以上,AMD两核以上

或者在设置–转码器里选中“禁用视频流转码”,但这会影响web端和某些客户端的播放,不推荐
作者: Earsum    时间: 2021-12-1 20:17
马克一手
作者: qshng    时间: 2021-12-1 20:19
好复杂,我考虑开发一个国产的plex了
作者: Meocat    时间: 2021-12-1 20:19
qshng 发表于 2021-12-1 20:19
好复杂,我考虑开发一个国产的plex了

中转的话是比较复杂
作者: mgwx    时间: 2021-12-1 20:20
Meocat 发表于 2021-12-1 19:54
播放时Plex服务端CPU占用太高,播放不顺畅

说明搭建Plex服务端的机器CPU太弱,无法适应软解的性能需要, ...

甲骨文4C24G搭的 emby流畅的很
作者: Meocat    时间: 2021-12-1 20:21
mgwx 发表于 2021-12-1 20:20
甲骨文4C24G搭的 emby流畅的很

那转码性能应该没有问题的
其实不管是plex还是emby都是用ffmpeg转码
作者: mgwx    时间: 2021-12-1 20:41
啊 我没安装ffmpeg
作者: Meocat    时间: 2021-12-1 20:53
mgwx 发表于 2021-12-1 20:41
啊 我没安装ffmpeg


奥这个不需要 自带集成进去的
作者: CCCP    时间: 2021-12-1 20:53
好东西 帮顶
作者: 柳夜熙    时间: 2021-12-1 22:21
我只想知道海外杜甫上的怎么把歌词和字幕弄出来 网上的教程都是不中用啊

作者: Meocat    时间: 2021-12-1 22:23
柳夜熙 发表于 2021-12-1 22:21
我只想知道海外杜甫上的怎么把歌词和字幕弄出来 网上的教程都是不中用啊
...

我也研究研究 我还没弄过歌
作者: 柳夜熙    时间: 2021-12-1 22:24
Meocat 发表于 2021-12-1 22:23
我也研究研究 我还没弄过歌

买来就是听歌 的  唉 一言难尽

作者: 史蒂夫·乔布斯    时间: 2021-12-1 22:25
Mark
作者: muyijiang    时间: 2021-12-1 23:19
qshng 发表于 2021-12-1 20:19
好复杂,我考虑开发一个国产的plex了

52已经有大佬造出了轮子了

https://www.52pojie.cn/thread-1548872-1-1.html
作者: buaachenhua    时间: 2021-12-2 11:17
收藏了
作者: AD盖    时间: 2021-12-2 11:21
Meocat 发表于 2021-12-1 19:54
播放时Plex服务端CPU占用太高,播放不顺畅

说明搭建Plex服务端的机器CPU太弱,无法适应软解的性能需要, ...

我netcup的机子,4个物理核心,播放下,负载都400%,还一卡一卡的,是什么回事呀
作者: Meocat    时间: 2021-12-2 13:49
AD盖 发表于 2021-12-2 11:21
我netcup的机子,4个物理核心,播放下,负载都400%,还一卡一卡的,是什么回事呀 ...

如果是 plex transcoder那个进程把cpu跑满了还卡就说明它的cpu还是不够
作者: yem    时间: 2021-12-2 13:50
支持技术文章
作者: Tkology    时间: 2021-12-2 14:27
Mark
作者: 孫笑川    时间: 2021-12-4 14:51
感谢大佬的教程。
想问一下,按照教程进行完3.2.3后,通过域名访问,一直加载不出,过了一会就502了。又按教程检查了好几遍,应该是没有操作错。hosts改成了我的域名,vps2的两个反代域名也改成了我的。不知道是什么问题了。
作者: Meocat    时间: 2021-12-4 15:09
本帖最后由 Meocat 于 2021-12-4 15:30 编辑
孫笑川 发表于 2021-12-4 14:51
感谢大佬的教程。
想问一下,按照教程进行完3.2.3后,通过域名访问,一直加载不出,过了一会就502了。又按 ...


ssl也配置了吗,如果还不行可以把域名解析改到vps-1看能访问不,能访问说明问题出在3.2,不能访问说明问题出在3.1
还有宝塔的配置文件里默认会缓存css,删掉了吗
作者: mgwx    时间: 2021-12-16 10:11
大佬 我又重新搭了 反代成功了  就是 VPS-2访问显示
未经授权
您没有权限访问此服务器

vps-1访问 ip+端口 正常播放




欢迎光临 全球主机交流论坛 (https://kokgog.com/) Powered by Discuz! X3.4