跳到主要内容

云服务器、宝塔、域名和 HTTPS

本文把一台新云服务器部署为可通过域名访问的 SurveyKing 服务。应用安装部分采用宝塔面板 Docker 部署,这里重点说明网络、域名和 HTTPS。

推荐配置

项目建议
操作系统64 位 Ubuntu、Debian、CentOS Stream 或兼容发行版
CPU / 内存至少 2 核 / 4 GB
磁盘至少 20 GB,并按附件量预留空间
架构amd64arm64
域名已备案域名(中国大陆服务器按服务商要求办理)

1. 安装并保护宝塔面板

从宝塔官网复制与服务器系统匹配的安装命令。安装完成后:

  1. 修改默认面板入口和管理员密码;
  2. 在云安全组中只允许可信 IP 访问 SSH 和宝塔面板端口;
  3. 安装 Nginx 与 Docker 管理器;
  4. 定期安装系统和面板安全更新。

不要把数据库端口 3306 暴露给公网。

2. 部署 SurveyKing

按照宝塔面板 Docker 部署,先在 Docker 应用商店安装 MySQL,再搜索并安装卷王问卷。

初始化阶段可以临时放行 TCP 1991

http://服务器公网 IP:1991/setup

首次访问会自动进入初始化页面。宝塔 Docker 部署会自动读取 MySQL 连接信息,测试连接成功并完成初始化后,再继续配置域名。

3. 解析域名

在域名服务商处添加 A 记录:

主机记录记录类型记录值
例如 wjA服务器公网 IPv4

等待解析生效后,可以用 nslookup 你的域名 检查返回地址是否与服务器一致。

4. 创建站点并反向代理

在宝塔“网站”中创建站点,域名填写刚才解析的域名。站点本身不需要 PHP,然后添加反向代理:

目标 URL:http://127.0.0.1:1991
发送域名:$host

确认 http://你的域名 能打开 SurveyKing 后,在宝塔 SSL 页面申请 Let's Encrypt 证书,并开启强制 HTTPS。

二维码、公开链接和邮件中的地址应使用最终的 HTTPS 域名,不能使用 localhost127.0.0.1 或 Docker 服务名。

5. 收紧防火墙

域名和 HTTPS 验证成功后:

  • 云安全组和宝塔防火墙只对公网开放 80443
  • 关闭公网 1991,让 Nginx 通过 127.0.0.1:1991 访问应用;
  • 3306 不对公网开放;
  • SSH 和宝塔面板端口仅允许可信 IP。

如果同一台服务器还有其他服务,请按实际端口逐项核对,不要一次放开大范围端口。

6. 备份和监控

至少同时准备:

  • SurveyKing“系统管理 → 系统设置 → 数据备份”导出的 ZIP;
  • /www/wwwroot/surveyking/config
  • /www/wwwroot/surveyking/files
  • /www/wwwroot/surveyking/mysql/data
  • .envdocker-compose.yml

备份应同步到服务器之外。磁盘使用率、容器状态、Nginx 证书到期时间和数据库备份失败都建议设置告警。