跳到主要内容

如何部署开源版

开源版当前最新版本是 v1.12.0;如果你只是想尽快用起来,优先选「Windows 一键部署」或「宝塔一键部署」;如果要长期放在服务器上使用,优先选「Docker Compose 部署」。

先选部署方式

你现在的情况推荐方式适合谁
只想在自己的 Windows 电脑上试用Windows 一键部署没有服务器、不想装复杂软件
还没有服务器,但要让别人扫码填写云服务器 + 宝塔部署小白用户,需要公网可访问链接
有云服务器,已经装了宝塔面板宝塔一键部署不熟悉命令行,想用页面点一点完成
有云服务器,能复制命令执行Docker Compose 部署想长期使用,数据放 MySQL 更稳
有云服务器,已经会配置 Nginx前后端分离部署想用 Nginx 代理前端和后端接口
有群晖 NAS群晖 NAS 一键部署想在家里、办公室或学校内网使用
有飞牛 NAS飞牛 NAS 一键部署想用 NAS 的 Docker 页面部署
已经会用 DockerDocker 部署想快速启动一个容器
需要自己控制 Java、MySQL、启动脚本Linux 手动部署有技术人员维护服务器
宝塔一键部署不满足要求宝塔手动部署需要自己上传 jar 和数据库脚本
提示

零基础用户不要先选 Linux 手动部署。它能用,但排查问题需要懂一点服务器、数据库和命令行。

初始化、备份和升级

部署成功后,如果第一次打开进入 /setup 页面,按 初始化、备份和升级 完成初始化。

正式使用前,建议先看同一篇文档里的备份说明。以后升级、迁移服务器、更换部署方式,也都先导出备份。

常见问题

为什么别人扫码打不开问卷链接?

先看二维码里的链接。如果链接是 localhost127.0.0.1192.168.x.x,外部用户通常打不开。

这些地址只适合本机或局域网访问。需要让公司、学校、客户等外部用户扫码填写时,建议部署到云服务器上,再用 http://服务器公网IP:1991 或域名打开后台并生成二维码。

具体步骤见:云服务器 + 宝塔部署

为什么电脑能打开 localhost:1991,手机打不开?

localhost 只表示“当前这台设备”。

你在电脑浏览器输入 http://localhost:1991,访问的是这台电脑上的卷王。手机输入同样的地址,访问的是手机自己,所以打不开。

手机访问有两种情况:

  • 卷王部署在自己的电脑上:手机和电脑连同一个 Wi-Fi,在电脑上查到局域网 IP,比如 192.168.1.23,手机访问 http://192.168.1.23:1991
  • 卷王部署在云服务器上:手机访问 http://服务器公网IP:1991,并确认云服务器安全组、防火墙已经放行 1991 端口。

Windows 电脑部署时,如果手机仍然打不开,通常是 Windows 防火墙拦截了 Java 或 1991 端口。

必须买服务器吗?

不必须。

只是在自己电脑上试用,可以用 Windows 一键部署。需要让同事、学生、客户随时访问,建议部署到云服务器,并绑定域名。

H2 数据库和 MySQL 数据库怎么选?

H2 是内置数据库,不用单独安装,适合试用、小范围演示。

MySQL 需要多一步配置,但数据更适合长期保存。正式使用、多人填写、数据重要时,建议选 Docker Compose、宝塔一键部署或手动配置 MySQL。

v1.12.0 里,MySQL 初始化可以直接在 /setup 页面完成,不需要先手动导入 init-mysql.sql。具体填写方式见:初始化、备份和升级

默认端口 1991 被占用了怎么办?

把对外端口换成其他数字,比如 8080

不同部署方式修改方法不一样:

  • Windows:在 start.bat 同级目录新建 application.properties,写入 server.port=8080
  • Docker:把命令里的 -p 1991:1991 改成 -p 8080:1991
  • Docker Compose:执行一键脚本时选择新端口,或用 SK_APP_PORT=8080 bash setup.sh
  • 宝塔:在项目设置里把项目端口改成新端口。
  • 前后端分离:通常保持后端 1991 不对公网开放,由 Nginx 的 80443 对外提供访问。

改完后访问地址也要跟着改,比如 http://localhost:8080

怎么更新到新版本?

先备份数据,再更新程序文件或 Docker 镜像。

如果更新日志里写了数据库升级脚本,要按版本顺序执行脚本。没有写数据库脚本时,通常只需要替换程序并重启。

具体操作见:初始化、备份和升级