[CentOS 7实战] 从零部署高可用TeamSpeak语音服务器

张开发
2026/4/19 18:28:16 15 分钟阅读

分享文章

[CentOS 7实战] 从零部署高可用TeamSpeak语音服务器
1. 环境准备与基础配置在CentOS 7上部署TeamSpeak服务器前需要做好充分的环境准备。我建议使用至少2核4G配置的云服务器实测这个配置可以稳定支持50人同时在线的语音通信。如果是大型游戏社区使用建议选择4核8G以上的配置。首先需要检查系统版本确保是CentOS 7.xcat /etc/redhat-release网络配置是第一个关键点。我遇到过很多新手忽略防火墙设置导致客户端无法连接的情况。CentOS 7默认使用firewalld需要开放以下端口sudo firewall-cmd --permanent --add-port9987/udp sudo firewall-cmd --permanent --add-port10011/tcp sudo firewall-cmd --permanent --add-port10022/tcp sudo firewall-cmd --permanent --add-port30033/tcp sudo firewall-cmd --reload基础依赖安装也很重要很多问题都源于缺少依赖包。执行以下命令安装必要组件sudo yum install -y epel-release sudo yum install -y bzip2 ca-certificates glibc libstdc libgcc2. 用户与权限管理为安全考虑绝对不要直接使用root运行TeamSpeak服务。我建议创建专用用户sudo useradd -m -d /opt/teamspeak -s /bin/bash teamspeak sudo passwd teamspeak设置sudo权限时有个小技巧可以限制只允许启动/停止服务echo teamspeak ALL(root) NOPASSWD: /bin/systemctl start teamspeak | sudo tee -a /etc/sudoers echo teamspeak ALL(root) NOPASSWD: /bin/systemctl stop teamspeak | sudo tee -a /etc/sudoers目录权限设置也很关键我遇到过因权限问题导致日志无法写入的情况sudo mkdir -p /var/log/teamspeak sudo chown -R teamspeak:teamspeak /opt/teamspeak /var/log/teamspeak3. 服务端安装与配置下载最新版TeamSpeak服务端时建议先检查官网获取最新版本号。这是我常用的下载命令wget https://files.teamspeak-services.com/releases/server/3.13.7/teamspeak3-server_linux_amd64-3.13.7.tar.bz2解压安装包后需要特别注意license文件tar -jxvf teamspeak3-server_linux_amd64-3.13.7.tar.bz2 cd teamspeak3-server_linux_amd64 touch .ts3server_license_accepted首次启动会生成管理员凭证务必保存好./ts3server_startscript.sh start4. 系统服务化与优化创建systemd服务单元文件时我推荐添加以下优化参数[Unit] DescriptionTeamSpeak 3 Server Afternetwork.target [Service] Userteamspeak Groupteamspeak WorkingDirectory/opt/teamspeak/teamspeak3-server_linux_amd64 ExecStart/opt/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh start inifilets3server.ini ExecStop/opt/teamspeak/teamspeak3-server_linux_amd64/ts3server_startscript.sh stop PIDFile/opt/teamspeak/teamspeak3-server_linux_amd64/ts3server.pid Restarton-failure RestartSec30 LimitNOFILEinfinity [Install] WantedBymulti-user.target启用并启动服务sudo systemctl daemon-reload sudo systemctl enable --now teamspeak5. 客户端连接与高级配置客户端连接时如果遇到问题可以检查服务端日志tail -f /opt/teamspeak/teamspeak3-server_linux_amd64/logs/ts3server_*为了提高语音质量建议在服务端配置文件中调整以下参数voice_ip0.0.0.0 default_voice_port9987 voice_ip_whitelistwhitelist.txt对于大规模部署可以考虑设置多个虚拟服务器./ts3server_startscript.sh start serveradmin_passwordYOUR_PASSWORD create_default_virtualserver16. 备份与维护定期备份非常重要我使用这个脚本进行每日自动备份#!/bin/bash BACKUP_DIR/backup/teamspeak DATE$(date %Y%m%d) tar -cjf $BACKUP_DIR/ts3_backup_$DATE.tar.bz2 /opt/teamspeak/teamspeak3-server_linux_amd64/ find $BACKUP_DIR -type f -mtime 7 -exec rm {} \;监控服务器状态可以使用这个命令watch -n 1 netstat -tulnp | grep ts3server ps aux | grep ts3server7. 常见问题排查遇到证书错误时可以尝试更新CA证书sudo yum update ca-certificates -y如果服务无法启动检查端口是否被占用sudo netstat -tulnp | grep -E 9987|10011|10022|30033内存不足时可以在启动脚本中添加内存限制export LD_LIBRARY_PATH. ./ts3server_minimal_runscript.sh linux_x86 serverquery_passwordYOUR_PASSWORD \ query_ip_whitelistwhitelist.txt \ query_ip_blacklistblacklist.txt \ default_voice_port9987 \ voice_ip0.0.0.0 \ inifilets3server.ini \ logpathlogs/ \ dbplugints3db_sqlite3 \ dbpluginparameterts3db_sqlite3.ini \ dbsqlpathsql/ \ dbconnections10 \ logquerycommands1 \ no_permission_update0 \ machine_id \ create_default_virtualserver1 \ clear_database0 \ dbclientkeepdays90 \ query_skipbruteforcecheck0

更多文章