Plex Media Server是一个用于本地环境的DIY流媒体解决方案。它允许你将不同类型的媒体文件集中存储,然后从多个位置和设备(如电视、智能手机等)流式传输所有媒体文件。

本指南将向你展示如何在Debian 12服务器上安装Plex Media Server。你将通过UFW(简单防火墙)和Nginx反向代理来安装Plex。

前置条件

开始本指南之前,请确保你具备以下条件:

- 一台Debian 12服务器
- 一个具有管理员权限的非root用户
- 一个已指向服务器IP地址的域名

安装依赖

在安装之前,先在Debian机器上安装所需的依赖。首先运行以下命令更新Debian软件源。

sudo apt update

Debian 12安装Plex Media Server教程

之后使用以下命令在Debian系统上安装依赖包。提示时输入y,然后按Enter继续。

sudo apt install curl unzip socat libexpat1 apt-transport-https wget software-properties-common

Debian 12安装Plex Media Server教程

在Debian上安装Plex Media Server

依赖安装完成后,你就可以安装Plex Media Repository了。但在安装之前,你必须先向Debian系统添加Plex仓库。运行以下命令将Plex仓库添加到Debian机器。

echo deb https://downloads.plex.tv/repo/deb public main | sudo tee /etc/apt/sources.list.d/plexmediaserver.list

然后使用以下命令添加Plex仓库的GPG密钥。

curl https://downloads.plex.tv/plex-keys/PlexSign.key | sudo apt-key add -

仓库和GPG密钥添加完成后,使用以下命令更新并刷新Debian软件源。

sudo apt update

Debian 12安装Plex Media Server教程

现在仓库已更新,可以使用以下命令安装plexmediaserver包。

sudo apt install plexmediaserver

Debian 12安装Plex Media Server教程

安装完成后,运行以下systemctl命令启动并启用plexmediaserver服务。

sudo systemctl start plexmediaserver
sudo systemctl enable plexmediaserver

plexmediaserver应该在Debian机器上运行了。现在使用以下命令验证。

sudo systemctl is-enabled plexmediaserver
sudo systemctl status plexmediaserver

如果一切正常,你将看到plexmediaserver的状态为active (running)

Debian 12安装Plex Media Server教程

设置UFW

在本指南中,你将使用UFW来保护Plex Media Server。因此必须先在Debian服务器上安装UFW,然后启用OpenSSH配置并添加Plex Media Server的主端口。

使用以下命令在Debian系统上安装UFW。

sudo apt install ufw -y

安装完成后,添加OpenSSH配置以允许SSH流量,并开放端口32400用于Plex。

sudo ufw allow OpenSSH
sudo ufw allow 32400

运行以下命令启动并启用UFW。提示时输入y确认。

sudo ufw enable

最后使用以下命令验证UFW状态和已启用的规则列表。确保UFW状态为Active,且OpenSSH和端口32400都已启用。

sudo ufw status

Debian 12安装Plex Media Server教程

安装和配置Nginx反向代理

至此,你已安装了Plex并配置了UFW。现在安装Nginx并将其配置为Plex Media Server的反向代理。使用以下命令在Debian机器上安装Nginx Web服务器。提示时输入y,然后按Enter继续。

sudo apt install nginx

Debian 12安装Plex Media Server教程

Nginx安装完成后,运行以下命令验证Nginx服务。确保Nginx服务已运行并启用。

sudo systemctl is-enabled nginx
sudo systemctl status nginx

如果已启用,输出应为enabled。如果正在运行,输出应显示active (running)

Debian 12安装Plex Media Server教程

在Nginx运行的情况下,运行以下ufw命令开放HTTP和HTTPS端口用于Plex流量。默认情况下,UFW提供了Nginx Full应用配置用于同时开放HTTP和HTTPS端口。

sudo ufw allow 'Nginx Full'
sudo ufw reload

Debian 12安装Plex Media Server教程

接下来使用以下命令创建新的服务器块配置文件/etc/nginx/sites-available/plex。这将用作Plex Media Server安装的反向代理。

vim /etc/nginx/sites-available/plex

添加以下配置,务必将域名替换为你的Plex域名。在这里,你也可以在本地环境中使用本地域名。

upstream plex_backend {
 server 127.0.0.1:32400;
 keepalive 32;
}

server {
 listen 80;
 server_name plex.howtoforge.local;

 send_timeout 100m;

 gzip on;
 gzip_vary on;
 gzip_min_length 1000;
 gzip_proxied any;
 gzip_types text/plain text/css text/xml application/xml text/javascript application/x-javascript image/svg+xml;
 gzip_disable "MSIE [1-6]\.";

 client_max_body_size 100M;

 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 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_http_version 1.1;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection "Upgrade";

 proxy_redirect off;
 proxy_buffering off;

 location / {
 proxy_pass http://plex_backend;
 }
}

保存文件并退出编辑器。

接下来运行以下命令启用服务器块配置,并验证Nginx配置语法。

sudo ln -s /etc/nginx/sites-available/plex /etc/nginx/sites-enabled
sudo nginx -t

确保没有错误,输出应为syntax is ok - test is successful

Debian 12安装Plex Media Server教程

最后运行以下命令重启Nginx服务并应用更改。此时,你的Plex Media Server应该可以通过HTTP和HTTPS端口访问,由Nginx Web服务器处理。

sudo systemctl restart nginx

使用SSL/TLS证书保护Plex Media Server

在本指南中,你将通过SSL/TLS证书保护Plex安装。对于本地域名用户,可以生成自签名证书并在Nginx服务器块上手动启用HTTPS。如果使用公共域名,请使用Certbot和Let's Encrypt生成SSL/TLS证书。

运行以下命令安装certbot和certbot Nginx插件。

sudo apt install certbot python3-certbot-nginx

安装完成后,运行以下certbot命令为你的Plex域名生成SSL/TLS证书。务必将电子邮件地址和域名替换为你的信息。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email admin@howtoforge.local -d plex.howtoforge.local

完成后,你的Nginx服务器块将自动配置HTTPS。SSL/TLS证书可以在/etc/letsencrypt/live/domain.com目录中找到。

Plex Media Server配置

打开Web浏览器并访问你的Plex域名(如https://plex.howtoforge.local/)。你将被重定向到plex.tv网站注册Plex账户。你可以通过Facebook/Gmail/Apple注册,也可以通过电子邮件地址注册。

Debian 12安装Plex Media Server教程

注册完成后,打开新标签页并访问你的Plex域名。如果安装成功,你应该会看到Plex Media Server仪表板。

Debian 12安装Plex Media Server教程

总结

恭喜!你已在Debian 12服务器上安装了Plex Media Server。你还在Debian上配置了UFW来保护Plex安装。此外,你还配置了Nginx作为Plex Media Server的反向代理,并通过Let's Encrypt的SSL/TLS证书保护了Plex。