蘭雅sRGB 个人笔记
https://262235.xyz
提供编程和电脑应用视频教程,工具和源代码
C, C++, Programming, Source Code, Video

蘭雅小店 | 旧Hexo博客 | Github

私人云盘搭建之 Nginx https代理 Emby 网络视频播放

Cloud.jpg

Emby(原名Media Browser)是一个主从式架构的媒体服务器软件,可以用来整理服务器上的视频和音频,并将音频和视频流式传输到客户端设备。

Emby服务器端支持Microsoft Windows、Linux、MacOS、FreeBSD,客户端支持HTML5网页,Android和IOS等移动操作系统,Roku、Amazon Fire TV、Chromecast和Apple TV等流媒体设备,LG智能电视和三星智能电视等智能电视,以及Xbox 360和Xbox One等游戏机。

Emby 网络视频播放 搭建

docker run -d \
  --name=emby \
  -e PUID=1000 \
  -e PGID=1000 \
  -p 8096:8096 \
  -v /mnt/emby:/config \
  -v /mnt/downloads:/data/movies \
  --restart unless-stopped \
  emby/embyserver

影视下载软件: qbittorrent 安装

wget git.io/autopt.sh && bash autopt.sh

# 群晖NAS使用如果不能访问外网 使用命令
wget 262235.xyz/autopt.sh && bash autopt.sh

安装Nginx 代理 Emby 网络视频播放

启动 nginx-php-fpm7.3 容器

docker run -d -p 80:80 -p 443:443  \
    --cpus 0.8   --restart=always   \
    -v /var/www/html:/var/www/html   \
    --name  nginx-php      \
    hongwenjun/nginx-php

Nginx 反代理 Emby 网页

https.png

  • 如图,操作命令
cd /var/www/html
vim https.conf   # 粘贴下面配置

# 检查 Emby服务的端口和内网
iptables -L | grep 8096

# 进入容器配置 修改Nginx配置
docker exec -it nginx-php bash

cd /etc/nginx/sites-enabled/
ls
cp /var/www/html/https.conf default
nginx  -t
nginx -s reload

网页访问 http://188.188.188.188/emby 完成 emby 配置

emby.png

  • 测试用 https.conf 配置参考
server {
        listen 80 default_server;
        listen [::]:80 default_server;

        # listen 443 ssl default_server;
        # listen [::]:443 ssl default_server;

        root /var/www/html;
        index index.html index.php index.nginx-debian.html;
        server_name _;

        location / {
                try_files $uri $uri/ =404;
        }

    location /emby/ {
        # Proxy main Jellyfin traffic
        proxy_pass http://172.17.0.3: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;
        proxy_set_header X-Forwarded-Protocol $scheme;
        proxy_set_header X-Forwarded-Host $http_host;
        
        # Disable buffering when the nginx proxy gets very resource heavy upon streaming
        proxy_buffering off;
    }

        # pass PHP scripts to FastCGI server
        location ~ .*\.php(\/.*)*$ {
                include snippets/fastcgi-php.conf;
        #       # With php-fpm (or other unix sockets):
                fastcgi_pass unix:/run/php/php7.3-fpm.sock;
        }

}

申请域名和获得免费证书,请自行 google

m.26235.png

网站启用 SSL 使用 Https 访问,浏览器不会不安全警告

  • SSL证书启用 https.conf 配置参考,请在本地编辑好,使用scp上传
server {

 listen 443 ssl default_server;
 listen [::]:443 ssl default_server;

 server_name m.262235.xyz;
 ssl_certificate m.262235.xyz.crt;
 ssl_certificate_key m.262235.xyz.key;

 ssl_session_timeout 5m;
 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;

 ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
 ssl_prefer_server_ciphers on;

 root /var/www/html;
 index index.html index.php index.nginx-debian.html;

 location / {
     try_files $uri $uri/ =404;
     }

 location /emby/ {
     proxy_pass http://172.17.0.3: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;
     proxy_set_header X-Forwarded-Protocol $scheme;
     proxy_set_header X-Forwarded-Host $http_host;

     # Disable buffering when the nginx proxy gets very resource heavy upon streaming
     proxy_buffering off;
     }

     # pass PHP scripts to FastCGI server
     location ~ .*\.php(\/.*)*$ {
     include snippets/fastcgi-php.conf;
     # fastcgi_pass 127.0.0.1:9000;
     # With php-fpm (or other unix sockets):
     fastcgi_pass unix:/run/php/php7.3-fpm.sock;
 }

}

server {
     listen 80; 
     server_name m.262235.xyz;
     return 301 https://$host$request_uri;
}
  • 使用scp工具上传 证书和 https配置,命令行参考
# 上传证书 到 用户 root 目录下
scp m.262235.xyz.crt root@m.262235.xyz:/root/.
scp m.262235.xyz.key root@m.262235.xyz:/root/.
scp https.conf       root@m.262235.xyz:/root/.
  • 把配置复制到容器 nginx-php 中,启用配置
docker ps -a
docker cp m.262235.xyz.crt nginx-php:/etc/nginx/.
docker cp m.262235.xyz.key nginx-php:/etc/nginx/.
docker cp https.conf       nginx-php:/etc/nginx/conf.d/.

docker restart nginx-php
docker logs  nginx-php

# 如果启动有错误,可以进入容器检查,还有也可以删除 /etc/nginx/sites-enabled/default
  • 编辑主页: vim /var/www/html/index.html
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8" /><title>私人云盘:网络视频播放</title>
<html><body style="text-align:center;">
<a href="https://m.262235.xyz/emby"><img src="https://262235.xyz/usr/uploads/2021/06/1343102762.jpg" ></img></a><bar>
点击图片进入<bar>
<p><p><p>
参考文章: <a href="https://262235.xyz/index.php/archives/141/">私人云盘搭建之 Nginx https代理 Emby 网络视频播放<a><bar>
</html>
本原创文章自由转载,转载请注明本博来源及网址 | 当前页面:蘭雅sRGB 个人笔记 » 私人云盘搭建之 Nginx https代理 Emby 网络视频播放