进阶篇:基于Google Drive的Plex私人媒体库使用Nginx进行中继的方法
2020-12-14 17:12:12    396    0    0
emengweb

此教程小白劝退,废话少说,开搞!

 

系统要求

本文以Debian/Ubuntu系统为例

VPS:带宽最好大于100MB,性能不做要求

CF账号选配项,用于CDN加速

域名选配项,用于CDN加速,可先对vps地址进行绑定并开启CF加速

 

 配合上一篇教程,在docker命令需要调整端口。

Plex安装配置

 安装

输入以下命令来建立一个plex的docker容器:

docker run -d \
  --name=plex \
  -e PUID=0 \
  -e PGID=0 \
  -e VERSION=docker \
  -e UMASK_SET=022 \
  -e TZ="Asia/Shanghai" \
  -e PLEX_CLAIM=这里输入自己的CLAIM来绑定 \
  -v /root/plex/config:/config \
  -v /root/plex/transcode:/transcode \
  -v /drive:/drive \
  -p 127.0.0.1:32400:32400 \
  --restart unless-stopped \
  --device=/dev/dri:/dev/dri \
  ghcr.io/linuxserver/plex

-p 127.0.0.1:32400:32400  映射plex服务32400端口到主机的相同端口,只允许内部访问

-e PLEX_CLAIM  这是Plex服务端自动绑定账号的密钥,可以在官方地址获取

-v /root/plex/config:/config  映射plex数据库到本地(左侧为本机路径可自主修改)

-v /root/plex/transcode:/transcode  映射plex转码目录(左侧为本机路径可自主修改)

-v /drive:/drive  映射本地rclone挂载目录到本地(建议将所有gd挂载盘作为driver的子目录,这样增删云盘的挂载就不需要重启docker容器啦)

Nginx安装配置

前期工作

  • 安装Nginx并设置好Host主机及SSl证书
  • 添加反向Dai理,映射到http://127.0.0.1:32400

重点

反Die需要单独指定以下配置项,否则会产生诸如:WebSocket失联导致后台无法正常显示服务器网速及负载等信息;部分Header标头缺失导致部分H264编码mp4文件长时间缓冲且无法播放的问题。

下面给出解决方案的配置项:

    # Plex start
    # 解决视频预览进度条无法拖动的问题
    proxy_set_header Range $http_range;
    proxy_set_header If-Range $http_if_range;
    proxy_no_cache $http_range $http_if_range;
    
    # 反带流式,不进行缓冲
    client_max_body_size 0;
    proxy_http_version 1.1;
    proxy_request_buffering off;
    #proxy_ignore_client_abort on;
    
    # 同时反带WebSocket协议
    proxy_set_header X-Forwarded-For $remote_addr:$remote_port;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection upgrade;
    # Plex end

如果你要使用更快的前端来反Die建议中间套上CF,结构为Plex VPS > CF > Front Server,如果前端服务器的位置不错,会有很可观的提速功能,既节省了前端的性能,将负载较重的任务留给后端服务器来处理,性能与速度兼备。


完美!

上一篇: 分享Plex数据包时,数据库及配置信息的脱敏及媒体路径替换方法

下一篇: 快速搭建基于Google Drive的Plex私人媒体库(附加CDN提速方法)

396 人读过
文档导航