全球主机交流论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

CeraNetworks网络延迟测速工具IP归属甄别会员请立即修改密码
查看: 5444|回复: 25

[疑问] 「宝塔Nginx」使用Nginx反向代理加速Plex流媒体

  [复制链接]
发表于 2021-12-1 19:18:20 | 显示全部楼层 |阅读模式
本帖最后由 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的宝塔面板查看流量变化
 楼主| 发表于 2021-12-1 20:21:59 | 显示全部楼层
mgwx 发表于 2021-12-1 20:20
甲骨文4C24G搭的 emby流畅的很

那转码性能应该没有问题的
其实不管是plex还是emby都是用ffmpeg转码
 楼主| 发表于 2021-12-1 20:19:58 | 显示全部楼层
qshng 发表于 2021-12-1 20:19
好复杂,我考虑开发一个国产的plex了

中转的话是比较复杂
发表于 2021-12-1 20:19:16 | 显示全部楼层
好复杂,我考虑开发一个国产的plex了
发表于 2021-12-1 19:21:22 | 显示全部楼层
支持 我今天刚吧plex卸载 卡死我了
 楼主| 发表于 2021-12-1 19:54:47 | 显示全部楼层
mgwx 发表于 2021-12-1 19:21
支持 我今天刚吧plex卸载 卡死我了

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

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

或者在设置–转码器里选中“禁用视频流转码”,但这会影响web端和某些客户端的播放,不推荐
发表于 2021-12-1 20:20:16 | 显示全部楼层
Meocat 发表于 2021-12-1 19:54
播放时Plex服务端CPU占用太高,播放不顺畅

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

甲骨文4C24G搭的 emby流畅的很
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|全球主机交流论坛

GMT+8, 2024-5-8 23:49 , Processed in 0.064851 second(s), 9 queries , Gzip On, MemCache On.

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表