基础软件环境安装
本页说明非容器部署需要的基础软件。优先使用操作系统或软件厂商维护的软件源,不再使用旧版离线 RPM、网盘安装包或来源不明的一键脚本。
版本要求
| 软件 | 建议版本 | 用途 |
|---|---|---|
| Java | Java 8 | 运行 surveyking-server.jar |
| MySQL | 5.7 或 8.0 | 保存业务数据 |
| Redis | 6 或 7 | 缓存、会话和分布式协调 |
| Nginx | stable 版本 | 提供静态文件和反向代理 |
具体版本以交付包的版本说明为准。不要在未验证的情况下直接升级数据库或 Java 主版本。
安装 Java
只部署后端 JAR 时安装 JRE 即可,不需要 Maven、编译器或 Tomcat。
RHEL 8 系发行版可以安装 OpenJDK 8:
sudo dnf install -y java-1.8.0-openjdk-headless
java -version
其他系统请通过厂商软件源安装 Java 8 运行环境。验证输出中应显示 Java 版本,且运行用户能够执行 java。
安装 MySQL
使用发行版或 MySQL 官方软件源安装 MySQL 5.7/8.0。安装后完成安全初始化,并创建独立数据库和账号:
CREATE DATABASE survey
CHARACTER SET utf8mb4
COLLATE utf8mb4_unicode_ci;
CREATE USER 'surveyking'@'127.0.0.1' IDENTIFIED BY '请替换为强密码';
GRANT ALL PRIVILEGES ON survey.* TO 'surveyking'@'127.0.0.1';
FLUSH PRIVILEGES;
导入初始化脚本:
mysql -h 127.0.0.1 -u surveyking -p survey < surveyking-pro.sql
数据库安全
- 不要让应用使用 MySQL
root账号。 - 单机部署将 MySQL 绑定到本机地址,不开放公网
3306。 - 密码通过交互输入或密钥管理系统传递,不直接写在命令行中。
- 初始化脚本只对空数据库执行一次。
验证数据库:
mysql -h 127.0.0.1 -u surveyking -p -e 'SELECT VERSION();' survey
安装 Redis
使用发行版软件源安装 Redis,并通过 systemd 管理。不要再从源码编译后手工 kill -9 进程。
RHEL 8 系发行版示例:
sudo dnf install -y redis
sudo systemctl enable --now redis
redis-cli ping
单机部署建议保持以下安全设置:
redis.conf
bind 127.0.0.1 ::1
protected-mode yes
如设置 Redis 密码,需要同时在 SurveyKing 配置中设置 spring.redis.password。不要使用 bind 0.0.0.0 和 protected-mode no 直接暴露 Redis。
安装 Nginx
RHEL 8 系发行版示例:
sudo dnf install -y nginx
sudo systemctl enable --now nginx
nginx -v
站点路由和接口代理不要使用默认配置,继续参考标准 Nginx 配置。修改后始终先检查语法:
sudo nginx -t
sudo systemctl reload nginx
安装完成检查
java -version
mysql --version
redis-server --version
nginx -v
systemctl status mysqld redis nginx --no-pager
ss -lntp | grep -E ':(3306|6379|80|443)\b'
不同发行版的 MySQL 服务名可能是 mysqld 或 mysql,Redis 服务名可能是 redis 或 redis-server,以实际安装包为准。
Windows 服务器
Windows 原生 Redis 发行版不属于当前推荐生产方案。必须使用 Windows 时,优先选择经过验证的 Docker、虚拟机或受支持的 Redis 兼容服务。