GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Plex Media Server na CentOS 8

Plex je bezplatný, open-source a plně vybavený mediální server, který vám umožňuje streamovat vaše fotografie, video a audio soubory na vašem PC, tabletu, telefonu odkudkoli na světě. Plex podporuje většinu operačních systémů včetně Linuxu, Windows, Mac a FreeBSD. Plex také podporuje několik pluginů, které vám umožňují sledovat obsah z Comedy Central a MTV.

Plex je systém přehrávače médií typu klient-server. Stačí nainstalovat server Plex na server, kde máte svá média, a poté nainstalovat aplikaci Plex do telefonu, tabletu nebo jiného zařízení pro přístup k médiím přes internet.

Funkce Podpora více uživatelů. Zobrazit doporučení filmů/televizních pořadů. Vytvořte si seznam skladeb pro svou oblíbenou hudbu a filmy. Synchronizujte a získejte přístup k mediálním souborům pro použití offline. Rodičovská kontrola vám umožňuje nainstalovat aplikaci Plex na zařízení dítěte a omezit je na sledování pouze určitého obsahu. Možnost streamovat místní televizní kanály do vašeho zařízení a sledovat živé televizní vysílání.

V tomto tutoriálu vám ukážeme, jak nainstalovat Plex Media Server na systém CentOS 8 s Nginx jako reverzní proxy.

Předpoklady

  • Server se systémem CentOS 8 s minimálně 2 GB paměti RAM.
  • Platný název domény je označen jako adresa IP vašeho serveru.
  • Na vašem serveru je nakonfigurováno heslo uživatele root.

Aktualizujte systém

Nejprve se doporučuje aktualizovat váš server na nejnovější verzi. Můžete jej aktualizovat pomocí následujícího příkazu:

dnf update -y

Jakmile je váš server aktualizován, restartujte jej, aby se změny implementovaly.

Instalovat Plex Media Server

Ve výchozím nastavení není balíček serveru médií Plex dostupný ve výchozím úložišti CentOS 8. Budete tedy muset vytvořit úložiště pro mediální server Plex. Můžete jej vytvořit pomocí následujícího příkazu:

nano /etc/yum.repos.d/plex.repo

Přidejte následující řádky:

[Plex]
name=Plex
baseurl=https://downloads.plex.tv/repo/rpm/$basearch/
enabled=1
gpgkey=https://downloads.plex.tv/plex-keys/PlexSign.key
gpgcheck=1

Po dokončení uložte a zavřete soubor. Poté nainstalujte server médií Plex pomocí následujícího příkazu:

dnf install plexmediaserver -y

Po dokončení instalace spusťte službu Plex media a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl enable plexmediaserver
systemctl start plexmediaserver

Stav serveru médií Plex můžete také ověřit pomocí následujícího příkazu:

systemctl status plexmediaserver

Měli byste vidět následující výstup:

? plexmediaserver.service - Plex Media Server
   Loaded: loaded (/usr/lib/systemd/system/plexmediaserver.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 2020-01-06 02:45:40 EST; 41s ago
 Main PID: 1009 (Plex Media Serv)
    Tasks: 113 (limit: 12552)
   Memory: 268.1M
   CGroup: /system.slice/plexmediaserver.service
           ??1009 /usr/lib/plexmediaserver/Plex Media Server
           ??1033 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/Resources/>
           ??1077 /usr/lib/plexmediaserver/Plex Tuner Service /usr/lib/plexmediaserver/Resources/Tuner/Private /usr/lib/plexmediaserver/Resour>
           ??1246 Plex Plug-in [org.musicbrainz.agents.music] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/>
           ??1356 Plex Plug-in [com.plexapp.agents.plexthememusic] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Cont>
           ??1364 Plex Plug-in [com.plexapp.agents.themoviedb] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents>
           ??1365 Plex Plug-in [tv.plex.agents.music] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/Resource>
           ??1389 Plex Plug-in [com.plexapp.agents.thetvdb] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/Re>
           ??1450 Plex Plug-in [com.plexapp.agents.imdb] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/Resou>

Jan 06 02:45:40 plex systemd[1]: Starting Plex Media Server...
Jan 06 02:45:40 plex systemd[1]: Started Plex Media Server.

V tomto okamžiku je server médií Plex nainstalován a spuštěn. Nyní můžete přejít k dalšímu kroku.

Konfigurace brány firewall a SELinux pro server Plex Media Server

Dále budete muset nakonfigurovat bránu firewall tak, aby umožňovala specifické porty serveru Plex media server. Můžete to udělat spuštěním následujících příkazů:

firewall-cmd --zone=public --add-port=32400/tcp --permanent
firewall-cmd --zone=public --add-port=32469/tcp --permanent
firewall-cmd --zone=public --add-port=8324/tcp --permanent
firewall-cmd --zone=public --add-port=3005/tcp --permanent
firewall-cmd --zone=public --add-port=32412/udp --permanent
firewall-cmd --zone=public --add-port=32413/udp --permanent
firewall-cmd --zone=public --add-port=32414/udp --permanent
firewall-cmd --zone=public --add-port=32410/udp --permanent
firewall-cmd --zone=public --add-port=1900/udp --permanent
firewall-cmd --zone=public --add-port=5353/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent

Dále znovu načtěte službu firewall, aby byly změny implementovány:

firewall-cmd --reload

Ve výchozím nastavení je SELinux povolen na serveru CentOS 8. Budete tedy muset nakonfigurovat SELinux pro přístup k serveru Plex Media Server přes internet. SELinux můžete nakonfigurovat pomocí následujícího příkazu:

setsebool httpd_can_network_connect on -P

V tomto okamžiku může být mediální server Plex přístupný přes internet. Nyní můžete přejít k dalšímu kroku.

Přístup k serveru Plex Media Server

Nyní můžete přistupovat k mediálnímu serveru Plex pomocí adresy URL http://ip-vaseho-serveru:32400. Měli byste vidět následující stránku:

Dále se budete muset zaregistrovat s platnou e-mailovou adresou, abyste mohli službu používat. Po úspěšném přihlášení. Budete přesměrováni na řídicí panel serveru médií Plex, jak je znázorněno níže:

Nastavení Nginx jako reverzního proxy

Dále budete muset nastavit Nginx jako reverzní proxy, abyste k němu měli přístup pomocí názvu domény bez poskytnutí IP adresy a čísla portu.

Chcete-li tak učinit, nejprve nainstalujte webový server Nginx pomocí následujícího příkazu:

dnf install nginx

Po dokončení instalace spusťte službu Nginx a povolte její spuštění po restartu systému pomocí následujícího příkazu:

systemctl start nginx
systemctl enable nginx

Dále vytvořte konfigurační soubor virtuálního hostitele Nginx pro Plex pomocí následujícího příkazu:

nano /etc/nginx/conf.d/plex.conf

Přidejte následující řádky:

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

server {
        listen 80;
        server_name plex.example.com;

        send_timeout 100m; #Some players don't reopen a socket and playback stops totally instead of resuming after an extended pause (e.g. Ch$

       	#Plex has A LOT of javascript, xml and html. This helps a lot, but if it causes playback issues with devices turn it off. (Haven't enc$
        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]\.";

       	#Nginx default client_max_body_size is 1MB, which breaks Camera Upload feature from the phones.
       	#Increasing the limit fixes the issue. Anyhow, if 4K videos are expected to be uploaded, the size might need to be increased even more
        client_max_body_size 100M;

       	#Forward real ip and host to Plex
        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;
       	#Websockets
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";

       	#Buffering off send to the client as soon as the data is received from Plex.
        proxy_redirect off;
        proxy_buffering off;

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

Po dokončení uložte a zavřete soubor. Dále budete muset definovat velikost segmentu hash serveru Nginx. Můžete to udělat úpravou konfiguračního souboru Nginx:

nano /etc/nginx/nginx.conf

Přidejte následující řádek těsně nad poslední řádek:

server_names_hash_bucket_size 64;

Po dokončení uložte a zavřete soubor. Poté pomocí následujícího příkazu zkontrolujte Nginx, zda neobsahuje nějakou chybu syntaxe:

nginx -t

Měli byste vidět následující výstup:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Nakonec restartujte službu Nginx a implementujte změny.

systemctl restart nginx

Chcete-li zkontrolovat stav služby Nginx, spusťte následující příkaz:

systemctl status nginx

Pokud je vše v pořádku, měli byste získat následující výstup:

? nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)
  Drop-In: /usr/lib/systemd/system/nginx.service.d
           ??php-fpm.conf
   Active: active (running) since Thu 2020-01-09 05:17:27 EST; 48s ago
  Process: 1230 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 1229 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 1227 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 1232 (nginx)
    Tasks: 2 (limit: 5060)
   Memory: 13.1M
   CGroup: /system.slice/nginx.service
           ??1232 nginx: master process /usr/sbin/nginx
           ??1233 nginx: worker process

Jan 09 05:17:25 centos8 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Jan 09 05:17:27 centos8 nginx[1229]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Jan 09 05:17:27 centos8 nginx[1229]: nginx: configuration file /etc/nginx/nginx.conf test is successful

Nyní můžete přistupovat k mediálnímu serveru Plex pomocí adresy URL http://plex.example.com.

Závěr

Gratulujeme! úspěšně jste nainstalovali mediální server Plex na CentOS 8 s Nginx jako reverzní proxy. Nyní můžete prozkoumat mediální server Plex pro další možnosti a nastavit si vlastní knihovnu médií. Poté si můžete nainstalovat aplikaci Plex z obchodu Play v telefonu a získat přístup ke svým médiím. Můžete také povolit svým přátelům a rodině přístup k vašim fotografiím, hudbě a filmům z webového prohlížeče nebo aplikace Plex. Pokud máte nějaké dotazy, neváhejte se mě zeptat.


Cent OS
  1. Jak nainstalovat Plex Media Server na Ubuntu 20.04

  2. Jak nainstalovat Plex Media Server na Ubuntu 18.04

  3. Jak nainstalovat Plex Media Server na CentOS 7

  1. Jak nainstalovat Minecraft Server na CentOS 7

  2. Jak nainstalovat Nginx na CentOS 8

  3. Jak nainstalovat PostgreSQL na CentOS 8

  1. Jak nainstalovat MariaDB na CentOS 8

  2. Jak nainstalovat Plex Media Server na Debian 9

  3. Jak nainstalovat Plex Media Server na CentOS 7