跳到主要内容

基础软件环境安装

本页说明非容器部署需要的基础软件。优先使用操作系统或软件厂商维护的软件源,不再使用旧版离线 RPM、网盘安装包或来源不明的一键脚本。

版本要求

软件建议版本用途
JavaJava 8运行 surveyking-server.jar
MySQL5.7 或 8.0保存业务数据
Redis6 或 7缓存、会话和分布式协调
Nginxstable 版本提供静态文件和反向代理

具体版本以交付包的版本说明为准。不要在未验证的情况下直接升级数据库或 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.0protected-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 服务名可能是 mysqldmysql,Redis 服务名可能是 redisredis-server,以实际安装包为准。

Windows 服务器

Windows 原生 Redis 发行版不属于当前推荐生产方案。必须使用 Windows 时,优先选择经过验证的 Docker、虚拟机或受支持的 Redis 兼容服务。