灌水王 发表于 2022-10-11 05:38:53

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

适用于有一台性能鸡与一个反代机的情况
性能鸡负责解码和转码,反代机则通过友好的线路传输给你
我本人是用绿云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的宝塔面板查看流量变化https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

灌水王 发表于 2022-10-11 05:39:24

那转码性能应该没有问题的
其实不管是plex还是emby都是用ffmpeg转码https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

灌水王 发表于 2022-10-11 05:40:23

中转的话是比较复杂https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

灌水王 发表于 2022-10-11 05:40:33

好复杂,我考虑开发一个国产的plex了

灌水王 发表于 2022-10-11 05:41:32

支持 我今天刚吧plex卸载 卡死我了

灌水王 发表于 2022-10-11 05:41:44

支持!

灌水王 发表于 2022-10-11 05:42:19

支持下

灌水王 发表于 2022-10-11 05:43:03

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

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

或者在设置–转码器里选中“禁用视频流转码”,但这会影响web端和某些客户端的播放,不推荐https://cdn.jsdelivr.net/gh/hishis/forum-master/public/images/patch.gif

灌水王 发表于 2022-10-11 05:43:36

马克一手

灌水王 发表于 2022-10-11 05:44:16

甲骨文4C24G搭的 emby流畅的很
页: [1]
查看完整版本: 「宝塔Nginx」使用Nginx反向代理加速Plex流媒体