Skip to content

ServerConfiguration

Akkariin Meiko edited this page Nov 8, 2019 · 1 revision

本页面将会简单介绍服务器如何配置

首先,server.php 是本程序的唯一入口点以及配置,你可以在这里找到基本上所有配置。

ROOT

此配置不需要修改,也不建议修改,这是程序的运行目录,修改后可能会出现问题。

BIND_HOST

这是程序的 WebSocket 服务器监听地址,默认为 0.0.0.0 即接受所有 IPv4 连接,如果您的服务器是 IPv6 的,请使用 ::1

BIND_PORT

这是程序的 WebSocket 服务器监听端口,默认为 811,如果您的网站是 https,那么您需要使用 Nginx 反向代理服务端,因为服务端仅支持 http 请求,在 https 页面请求 http 页面会被浏览器拦截。

当使用反向代理时,这里可以改成任意端口,只要保证 Nginx 监听端口和 index.html 里面设置的端口一致即可。

ADMIN_PASS

这是管理员的密码,拥有此密码的人就可以进行管理员操作,例如切歌等。请尽量设置复杂以避免被爆破。

WORKERNUM

这是服务器工作进程的数量,一般不推荐超过 CPU 核心数的 4 倍,例如 CPU 是 4 核,这里就推荐设置为 16 左右。

Workers 数量太少会导致用户在点歌时卡住或者服务器主线程卡死,请合理设置,过大的数值也会导致服务器卡顿。

DEBUG

这个选项可以开启或关闭调试模式,开启后会显示 Http 请求信息,输出返回结果等,方便调试网络问题,不用时尽量关闭。

USE_X_REAL_IP

这个选项用于选择开启或关闭从 Header X-Real-IP 获取用户 IP 地址的功能,因为 Nginx 反向代理后的服务端无法正确获取客户 IP(获取到的地址全都是 127.0.0.1),这时候就需要从 Header 里面获取 X-Real-IP 来得到真实 IP。

如果您的服务端没有使用 Nginx 进行反代,请关闭此选项,否则会导致无法获取用户 IP 导致程序出错。

USE_REDIS

这个选项用于开启或关闭 Redis 储存数据的功能,开启后,歌单将会通过 Redis 来进行缓存,以解决 Swoole 内存表空间不足导致丢数据的问题。

如果您的服务器没有安装 Redis 或者您不知道这是什么,请不要开启。

  • REDIS_HOST - Redis 服务器的地址,默认 127.0.0.1
  • REDIS_PORT - Redis 服务器的端口,默认 6379
  • REDIS_PASS - Redis 服务器的密码,留空则不使用验证功能

MUSIC_API

服务器获取音乐信息的 API,默认使用我提供的 API,如果您想自己搭建,请参考:https://github.com/mengkunsoft/MKOnlineMusicPlayer

地址的结尾不要包含 /,只需要保留目录名即可,例如 https://api.example.com/neteasehttps://api.example.com

PYTHON_EXEC

服务器 Python3 的安装位置,如果您的服务器还没有安装 Python 3,请先安装。

MIN_CHATWAIT

用户聊天的冷却时间,每次发言后必须要等待指定秒后才能再次发言,防止用户刷屏影响其他人的体验。

MAX_CHATLENGTH

聊天内容的最大长度,默认值为 200,每个中文字符长度为 1

MAX_MUSICLENGTH

音乐的最大长度,单位为秒,设置合理的音乐长度可以防止有人点超长的串烧音乐影响其他人的使用体验。

如果是自己用可以把这里改成 99999 基本上就没限制了。

MAX_USERMUSIC

每个用户最多可以点的歌曲数量,达到限制后需要等前面已经点过的歌放完了再继续点新的歌曲。

如果是自己用可以设置为 99999

以上就是服务器的全部配置项介绍。