AirSonic是一个免费的,开放源代码和基于Web的媒体流服务器,使您可以从中央位置访问音乐。Airsonic与任何音频/视频文件格式兼容,并且还可以通过超文本传输协议进行流式传输。它是用Java语言编写的自托管媒体流,可以处理非常大的音乐收藏。它可以在大多数操作系统上运行,包括Windows,Linux和Mac OS。
在本教程中,我们将向您展示如何在CentOS 8上安装AirSonic媒体流服务器。
先决条件
- 一台运行CentOS 8且具有至少2 GB RAM的服务器。
- 在您的服务器上配置了root密码。
入门
默认情况下,在CentOS 8服务器中启用SELinux。因此,您需要先禁用它。
nano /etc/selinux/config
进行以下更改:
SELINUX=disabled
保存并关闭文件。然后,重新启动系统以应用更改。
安装Java
AirSonic基于Java,因此您需要将Java安装到系统中。您可以通过运行以下命令来安装Java:
dnf install java-1.8.0-openjdk-devel
安装Java之后,您可以使用以下命令来验证Java版本:
java -version
您应该看到以下输出:
openjdk version "1.8.0_232" OpenJDK Runtime Environment (build 1.8.0_232-b09) OpenJDK 64-Bit Server VM (build 25.232-b09, mixed mode)
Install AirSonic
安装AirSonic
在开始之前,您需要创建一个用户以运行AirSonic。
首先,使用以下命令创建用户:
useradd airsonic
接下来,使用以下命令为AirSonic创建目录:
mkdir /var/airsonic /var/media_files
接下来,使用以下命令从Git存储库下载最新版本的AirSonic:
wget https://github.com/airsonic/airsonic/releases/download/v10.4.1/airsonic.war --output-document=/var/airsonic/airsonic.war
接下来,使用以下命令为airsonic目录授予适当的权限:
chown -R airsonic /var/airsonic
chown -R airsonic /var/media_files
接下来,使用以下命令下载AirSonic的预配置systemd单元文件:
wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic.service -O /etc/systemd/system/airsonic.service
wget https://raw.githubusercontent.com/airsonic/airsonic/master/contrib/airsonic-systemd-env -O /etc/sysconfig/airsonic
接下来,使用以下命令重新加载systemd守护程序:
systemctl daemon-reload
接下来,启动AirSonic服务,并使用以下命令使其在启动时启动:
systemctl start airsonic
systemctl enable airsonic
现在,您可以使用以下命令验证AirSonic的状态:
systemctl status airsonic
您应该获得以下输出:
? airsonic.service - Airsonic Media Server Loaded: loaded (/etc/systemd/system/airsonic.service; disabled; vendor preset: disabled) Active: active (running) since Mon 2019-10-28 12:29:51 EDT; 2min 6s ago Main PID: 29564 (java) Tasks: 18 (limit: 5060) Memory: 315.0M CGroup: /system.slice/airsonic.service ??29564 /usr/bin/java -Xmx700m -Dairsonic.home=/var/airsonic -Dserver.context-path=/airsonic -Dserver.port=8080 -jar /var/airsonic/> Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.876 INFO --- l.c.StandardChangeLogHistoryService : Reading from DATABASECHANGEL> Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.877 INFO --- l.executor.jvm.JdbcExecutor : SELECT * FROM DATABASECHANGE> Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.969 INFO --- liquibase.changelog.ChangeSet : Marking ChangeSet: classpath> Oct 28 12:31:49 centos8 java[29564]: classpath:liquibase/db-changelog.xml : Custom Precondition Failed: DBMS Major Version Precondit> Oct 28 12:31:49 centos8 java[29564]: 2019-10-28 12:31:49.972 INFO --- l.executor.jvm.JdbcExecutor : SELECT MAX(ORDEREXECUTED) FR> Oct 28 12:31:50 centos8 java[29564]: 2019-10-28 12:31:50.017 INFO --- l.executor.jvm.JdbcExecutor : INSERT INTO DATABASECHANGELO> Oct 28 12:31:50 centos8 java[29564]: 2019-10-28 12:31:50.020 INFO --- l.l.StandardLockService : Successfully released change> Oct 28 12:31:51 centos8 java[29564]: 2019-10-28 12:31:51.489 INFO --- o.airsonic.player.dao.PlayerDao : Deleted 1 player(s) that hav> Oct 28 12:31:52 centos8 java[29564]: 2019-10-28 12:31:52.424 INFO --- o.a.p.s.MediaScannerService : Automatic media library scan> Oct 28 12:31:53 centos8 java[29564]: 2019-10-28 12:31:53.093 INFO --- o.a.p.service.PodcastService : Automa
您还可以使用以下命令检查AirSonic运行过程:
ps -ef | grep airsonic
您应该看到以下输出:
airsonic 29459 1 87 12:07?00:02:08 / usr / bin / java -Xmx700m -Dairsonic.home = / var / airsonic -Dserver.context-path = / airsonic -Dserver.port = 8080 -jar /var/airsonic/airsonic.war root 29496 6103 0 12:10 pts / 0 00:00:00 grep --color = auto airsonic
访问AirSonic Web界面
在访问AirSonic Web界面之前,您需要使用防火墙打开端口80和8080。您可以使用以下命令进行操作:
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
firewall-cmd --reload
接下来,打开您的Web浏览器,然后输入URL http:// your-server-ip:8080 / airsonic。您将被重定向到以下页面:
提供尽可能管理员/管理员默认的用户名和密码,点击登录 的按钮。您应该看到以下页面:
接下来,您将需要更改默认的管理员密码。为此,请单击“ 更改 管理员 密码”。您应该看到以下页面:
选择管理员用户,选中更改密码复选框,键入新密码,然后单击保存按钮以更改默认密码。
接下来,您将需要设置媒体文件夹来存储您的音乐和视频。为此,请点击设置 > 媒体 文件夹。您应该看到以下页面:
现在,在“文件夹”框中键入/ var / media_files,然后单击“ 保存”按钮。
将Nginx配置为反向代理
接下来,您需要将Nginx配置为端口8080上Airsonic的反向代理。为此,请首先使用以下命令安装Nginx Web服务器:
dnf install nginx
安装后,创建一个Nginx虚拟主机配置文件:
nano /etc/nginx/conf.d/airsonic.conf
添加以下行:
server { listen 80; server_name your-server-ip; access_log off; error_log off; location / { proxy_pass http://127.0.0.1:8080; proxy_redirect off; 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_max_temp_file_size 0; client_max_body_size 10m; client_body_buffer_size 128k; proxy_connect_timeout 90; proxy_send_timeout 90; proxy_read_timeout 90; proxy_buffer_size 4k; proxy_buffers 4 32k; proxy_busy_buffers_size 64k; proxy_temp_file_write_size 64k; } }
完成后保存并关闭文件。然后,使用以下命令测试Nginx是否存在语法错误:
nginx -t
您应该看到以下输出:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
接下来,启动Nginx服务,并使用以下命令使其在系统重启后启动:
systemctl start nginx
systemctl enable nginx
现在,您可以通过访问URL http:// your-server-ip / airsonic来访问AirSonic。
结论
恭喜你!您已成功将Nginx的AirSonic媒体服务器安装为CentOS 8上的反向代理。您现在可以托管自己的媒体服务器,并与朋友和家人共享音乐。如有任何问题,随时问我。