麦子IM WildfireChat 火山节点(部署于 huoshan 火山云)
自建 IM(麦子IM)火山云节点:im.bianquezhiyin.com,WildfireChat 0.74 + MySQL 8。
访问方式
- IM 入口:http://im.bianquezhiyin.com(域名→101.126.33.84,由 IM 内嵌 HTTP(java 80 端口)直接服务;无 HTTPS)
- 路径:/api、/route、/im、/fs(IM 内置路由);示例 nginx 反代文件在 /opt/wildfire/app-server/nginx/appserver.conf(未启用)
- app-server:8082(公网直连)
- 管理:18080(公网,经 appserver.conf 示例中的 /admin →18081 为另一示例,实际 18080)
技术架构
- 栈:Java 8 WildfireChat 0.74
- wildfire-im.service:/opt/wildfire/bin/wildfirechat.sh(IM 主进程,-Xmx256m;端口 80/1883/5701/18080)
- wildfire-app.service:/opt/wildfire/app-server/app-0.74.jar(-Xmx384m;端口 8082)
- MySQL 8.0.46(系统 apt):库 wildfirechat(jdbc 127.0.0.1:3306,凭据在 /opt/wildfire/config/c3p0-config.xml)
- nginx:已安装但 inactive(仅示例配置)
- docker:node-exporter(9100)
数据
- 数据库:MySQL wildfirechat(用户/消息/群组)
- 媒体:/opt/wildfire/media、avatar
- 备份情况:无任何备份(无 mysqldump、无快照计划证据)
使用方法
- 客户端服务器地址填 im.bianquezhiyin.com(或 101.126.33.84)
- 管理台:IM 配套 Web 管理台(18080 系)
维护方式
- 启停:systemctl restart wildfire-im wildfire-app mysql
- 日志:/opt/wildfire/im-server.log、app-server.log
- 配置:/opt/wildfire/config/(im.properties、c3p0-config.xml)
现状与风险
- 运行 23 天稳定;但 3306/18080/5701/1883/8082 全部公网暴露
- 无 HTTPS、无备份
优化建议
- 安全:sed -i 's/bind-address.*/bind-address = 127.0.0.1/' /etc/mysql/mysql.conf.d/mysqld.cnf && systemctl restart mysql
- 安全:火山安全组仅放行 80/22/9100(内网),封 18080/5701/1883/8082 公网
- 备份:0 4 * * * mysqldump wildfirechat | gzip > /root/backup/wfc-$(date +\%F).sql.gz;并开启火山磁盘快照
- 性能:启用 nginx 做 80→443 反代并配证书(certbot -d im.bianquezhiyin.com)