Plex là máy chủ phương tiện miễn phí, mã nguồn mở và đầy đủ tính năng cho phép bạn truyền phát ảnh, video và tệp âm thanh trên PC, máy tính bảng, điện thoại từ mọi nơi trên thế giới. Plex hỗ trợ hầu hết các hệ điều hành bao gồm Linux, Windows, Mac và FreeBSD. Plex cũng hỗ trợ một số plugin cho phép bạn xem nội dung từ Comedy Central và MTV.
Plex là hệ thống trình phát phương tiện máy khách-máy chủ. Bạn chỉ cần cài đặt máy chủ Plex trên máy chủ nơi bạn lưu trữ phương tiện của mình và sau đó cài đặt ứng dụng Plex trên Điện thoại, Máy tính bảng hoặc các thiết bị khác để truy cập phương tiện của mình qua internet.
Tính năng Hỗ trợ nhiều người dùng. Hiển thị các đề xuất Phim/Chương trình truyền hình. Tạo danh sách phát cho nhạc và phim yêu thích của bạn. Đồng bộ hóa và truy cập các tệp phương tiện để sử dụng ngoại tuyến. Kiểm soát của phụ huynh cho phép bạn cài đặt ứng dụng Plex trên thiết bị của trẻ em và hạn chế chúng chỉ xem nội dung cụ thể. Khả năng truyền phát các kênh truyền hình địa phương đến thiết bị của bạn và xem truyền hình trực tiếp.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Plex Media Server trên hệ thống CentOS 8 với Nginx làm proxy ngược.
Sau khi máy chủ của bạn được cập nhật, hãy khởi động lại để triển khai các thay đổi.
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó cài đặt máy chủ phương tiện Plex bằng lệnh sau:
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ phương tiện Plex và cho phép nó khởi động sau khi hệ thống khởi động lại bằng lệnh sau:
Bạn cũng có thể xác minh trạng thái của máy chủ phương tiện Plex bằng lệnh sau:
Bạn sẽ thấy đầu ra sau:
Lúc này, Plex media server đã được cài đặt và đang chạy. Bây giờ bạn có thể tiến hành bước tiếp theo.
Tiếp theo, tải lại dịch vụ firewalld để triển khai các thay đổi:
Theo mặc định, SELinux được bật trên máy chủ CentOS 8. Vì vậy, bạn sẽ cần cấu hình SELinux để truy cập Plex Media Server qua internet. Bạn có thể cấu hình SELinux bằng lệnh sau:
Tại thời điểm này, máy chủ Plex media có thể truy cập được qua internet. Bây giờ bạn có thể tiến hành bước tiếp theo.
Tiếp theo, bạn sẽ cần đăng ký bằng địa chỉ email hợp lệ để sử dụng dịch vụ. Sau khi đăng ký thành công. Bạn sẽ được chuyển hướng đến bảng điều khiển máy chủ phương tiện Plex như hiển thị bên dưới:
Để thực hiện, trước tiên hãy cài đặt máy chủ web Nginx bằng lệnh sau:
Sau khi cài đặt hoàn tất, hãy khởi động dịch vụ Nginx và cho phép dịch vụ này khởi động sau khi hệ thống khởi động lại bằng lệnh sau:
Tiếp theo, tạo tệp cấu hình máy chủ ảo Nginx cho Plex bằng lệnh sau:
Thêm các dòng sau:
Lưu và đóng tệp khi bạn hoàn tất. Tiếp theo, bạn sẽ cần xác định kích thước thùng băm máy chủ Nginx. Bạn có thể thực hiện bằng cách chỉnh sửa tệp cấu hình Nginx:
Thêm dòng sau ngay phía trên dòng cuối cùng:
Lưu và đóng tệp khi bạn hoàn tất. Sau đó, hãy kiểm tra Nginx xem có lỗi cú pháp nào không bằng lệnh sau:
Bạn sẽ thấy kết quả sau:
Cuối cùng, hãy khởi động lại dịch vụ Nginx để triển khai các thay đổi.
Để kiểm tra trạng thái của dịch vụ Nginx, hãy chạy lệnh sau:
Nếu mọi thứ đều ổn, bạn sẽ nhận được kết quả sau:
Bây giờ bạn có thể truy cập máy chủ phương tiện Plex của mình bằng URL http://plex.example.com.
Plex là hệ thống trình phát phương tiện máy khách-máy chủ. Bạn chỉ cần cài đặt máy chủ Plex trên máy chủ nơi bạn lưu trữ phương tiện của mình và sau đó cài đặt ứng dụng Plex trên Điện thoại, Máy tính bảng hoặc các thiết bị khác để truy cập phương tiện của mình qua internet.
Tính năng Hỗ trợ nhiều người dùng. Hiển thị các đề xuất Phim/Chương trình truyền hình. Tạo danh sách phát cho nhạc và phim yêu thích của bạn. Đồng bộ hóa và truy cập các tệp phương tiện để sử dụng ngoại tuyến. Kiểm soát của phụ huynh cho phép bạn cài đặt ứng dụng Plex trên thiết bị của trẻ em và hạn chế chúng chỉ xem nội dung cụ thể. Khả năng truyền phát các kênh truyền hình địa phương đến thiết bị của bạn và xem truyền hình trực tiếp.
Trong hướng dẫn này, chúng tôi sẽ chỉ cho bạn cách cài đặt Plex Media Server trên hệ thống CentOS 8 với Nginx làm proxy ngược.
Điều kiện tiên quyết
- Máy chủ chạy CentOS 8 với tối thiểu 2 GB RAM.
- Tên miền hợp lệ được trỏ đến IP máy chủ của bạn.
- Mật khẩu gốc được cấu hình trên máy chủ của bạn.
Cập nhật hệ thống
Trước tiên, bạn nên cập nhật máy chủ của mình với phiên bản mới nhất. Bạn có thể cập nhật bằng lệnh sau:
Mã:
dnf update -y
Cài đặt Plex Media Server
Theo mặc định, gói Plex media server không có trong kho lưu trữ mặc định của CentOS 8. Vì vậy, bạn sẽ cần tạo một kho lưu trữ cho Plex media server. Bạn có thể tạo kho lưu trữ bằng lệnh sau:
Mã:
nano /etc/yum.repos.d/plex.repo
Mã:
[Plex]name=Plexbaseurl=https://downloads.plex.tv/repo/rpm/$basearch/enabled=1gpgkey=https://downloads.plex.tv/plex-keys/PlexSign.keygpgcheck=1
Mã:
dnf install plexmediaserver -y
Mã:
systemctl enable plexmediaserver
systemctl start plexmediaserver
Mã:
systemctl status plexmediaserver
Mã:
? plexmediaserver.service - Plex Media Server Đã tải: đã tải (/usr/lib/systemd/system/plexmediaserver.service; đã bật; cài đặt trước của nhà cung cấp: đã tắt) Đang hoạt động: đang hoạt động (đang chạy) kể từ Thứ Hai 2020-01-06 02:45:40 EST; 41 giây trước PID chính: 1009 (Plex Media Serv) Nhiệm vụ: 113 (giới hạn: 12552) Bộ nhớ: 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 Tiện ích bổ sung Plex [org.musicbrainz.agents.music] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Contents/> ??1356 Tiện ích bổ sung Plex [com.plexapp.agents.plexthememusic] /usr/lib/plexmediaserver/Resources/Plug-ins-349e9837e/Framework.bundle/Cont> ??1364 Tiện ích bổ sung Plex [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>06/01 02:45:40 plex systemd[1]: Đang khởi động Plex Media Server...06/01 02:45:40 plex systemd[1]: Đã khởi động Plex Media Server.
Cấu hình Tường lửa và SELinux cho Plex Media Server
Tiếp theo, bạn sẽ cần cấu hình firewalld để cho phép các cổng cụ thể của Plex media server. Bạn có thể thực hiện bằng cách chạy các lệnh sau:
Mã:
lệnh-tường-lửa --zone=công-khai --add-port=32400/tcp --vĩnh-vĩnh
lệnh-tường-lửa --zone=công-khai --add-port=32469/tcp --vĩnh-vĩnh
lệnh-tường-lửa --zone=công-khai --add-port=8324/tcp --vĩnh-vĩnh
lệnh-tường-lửa --zone=công-khai --add-port=3005/tcp --vĩnh-vĩnh
lệnh-tường-lửa --zone=công-khai --add-port=32412/udp --vĩnh-vĩnh
lệnh-tường-lửa --zone=công-khai --add-port=32413/udp --vĩnh-vĩnh
lệnh-tường-lửa --zone=công-khai --add-port=32414/udp --vĩnh-vĩnh
lệnh-tường-lửa --zone=công-khai --add-port=32410/udp --vĩnh-vĩnh
lệnh-tường-lửa --zone=công-khai --add-port=1900/udp --permanent
firewall-cmd --zone=public --add-port=5353/udp --permanent
firewall-cmd --zone=public --add-port=80/tcp --permanent
Mã:
firewall-cmd --reload
Mã:
setsebool httpd_can_network_connect on -P
Truy cập Plex Media Server
Bây giờ bạn có thể truy cập Plex media server bằng URL http://your-server-ip:32400. Bạn sẽ thấy trang sau:Tiếp theo, bạn sẽ cần đăng ký bằng địa chỉ email hợp lệ để sử dụng dịch vụ. Sau khi đăng ký thành công. Bạn sẽ được chuyển hướng đến bảng điều khiển máy chủ phương tiện Plex như hiển thị bên dưới:
Thiết lập Nginx làm Proxy ngược
Tiếp theo, bạn sẽ cần thiết lập Nginx làm proxy ngược để có thể truy cập bằng Tên miền mà không cần cung cấp địa chỉ IP và số cổng.Để thực hiện, trước tiên hãy cài đặt máy chủ web Nginx bằng lệnh sau:
Mã:
dnf install nginx
Mã:
systemctl start nginx
systemctl enable nginx
Mã:
nano /etc/nginx/conf.d/plex.conf
Mã:
upstream plex_backend { server 127.0.0.1:32400; keepalive 32;}server { listen 80; server_name plex.example.com; send_timeout 100m; #Một số trình phát không mở lại ổ cắm và quá trình phát lại dừng hoàn toàn thay vì tiếp tục sau một thời gian tạm dừng kéo dài (ví dụ: Ch$ #Plex có RẤT NHIỀU javascript, xml và html. Điều này giúp ích rất nhiều, nhưng nếu nó gây ra sự cố phát lại với các thiết bị, hãy tắt nó đi. (Chưa 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]\."; #Kích thước máy khách_tối đa_cơ thể_mặc định của Nginx là 1MB, điều này làm hỏng tính năng Tải lên camera từ điện thoại. #Việc tăng giới hạn sẽ khắc phục được sự cố. Dù sao đi nữa, nếu dự kiến tải lên video 4K, thì kích thước có thể cần phải tăng thêm nữa client_max_body_size 100M; #Chuyển tiếp ip thực và máy chủ đến 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 Nâng cấp $http_upgrade; proxy_set_header Kết nối "Nâng cấp"; #Tắt bộ đệm gửi đến máy khách ngay khi dữ liệu được nhận từ Plex. proxy_redirect tắt; proxy_buffering tắt; location / { proxy_pass http://plex_backend; }}
Mã:
nano /etc/nginx/nginx.conf
Mã:
server_names_hash_bucket_size 64;
Mã:
nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: kiểm tra tệp cấu hình /etc/nginx/nginx.conf là thành công
Mã:
systemctl restart nginx
Mã:
systemctl status nginx
Mã:
? nginx.service - Máy chủ proxy ngược và HTTP nginx Đã tải: đã tải (/usr/lib/systemd/system/nginx.service; đã tắt; cài đặt trước của nhà cung cấp: đã tắt) Drop-In: /usr/lib/systemd/system/nginx.service.d ??php-fpm.conf Đang hoạt động: đang hoạt động (đang chạy) kể từ Thu 2020-01-09 05:17:27 EST; 48 giây trước Tiến trình: 1230 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Tiến trình: 1229 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Tiến trình: 1227 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) PID chính: 1232 (nginx) Nhiệm vụ: 2 (giới hạn: 5060) Bộ nhớ: 13,1M CGroup: /system.slice/nginx.service ??1232 nginx: tiến trình chính /usr/sbin/nginx ??1233 nginx: tiến trình công nhân09/01 05:17:25 centos8 systemd[1]: Đang khởi động máy chủ proxy ngược và HTTP nginx...01 09 05:17:27 centos8 nginx[1229]: nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là ok09/01 05:17:27 centos8 nginx[1229]: nginx: tệp cấu hình /etc/nginx/nginx.conf đã kiểm tra thành công