适用版本:宝塔面板 7.9.3+。宝塔面板部署分为传统部署(上传安装包,配置反向代理)和 Docker 一键部署两种方式,本章先介绍传统部署方式。
前置准备
- 一台已安装宝塔面板的 Linux 服务器(CentOS / Ubuntu / Debian 均可)
- 一个已解析到服务器的域名(如
www.anqicms.com) - 已安装 MySQL 5.6.35+(推荐 5.7+ 或 8.0)
- 从官网或 GitHub 下载 AnQiCMS Linux 安装包
方式一:宝塔 7.9.3+ 使用 Go 项目部署
Step 1:上传安装包
- 进入宝塔面板 → 文件 → 进入
/www/wwwroot/目录 - 创建一个以域名命名的目录,如
anqicms.com - 进入该目录,上传 Linux 安装包(如
anqicms-linux-v3.6.2.zip) - 在安装包上右键选择 解压,解压到当前目录


Step 2:创建 Go 项目站点
- 宝塔面板 → 网站 → Go 项目 → 添加 Go 项目
- 填写以下配置:
| 配置项 | 填写内容 |
|---|---|
| 项目执行文件 | /www/wwwroot/anqicms.com/anqicms |
| 项目名称 | AnQiCMS(可自定义) |
| 项目端口 | 8001 |
| 执行命令 | /www/wwwroot/anqicms.com/anqicms |
| 运行用户 | www |
| 开机启动 | ✅ 勾选 |
| 绑定域名 | 填写已解析的域名 |

- 点击 提交,完成添加
Step 3:初始化安装
- 在浏览器中访问绑定的域名
- 进入 AnQiCMS 初始化安装界面
- 填写数据库信息、管理员账号密码

| 字段 | 说明 |
|---|---|
| 数据库主机 | 一般为 127.0.0.1 |
| 数据库端口 | 一般为 3306 |
| 数据库用户名 | MySQL 用户名(建议用 root 或具有创建数据库权限的用户) |
| 数据库密码 | 对应的密码 |
| 数据库名称 | 自动创建,如 anqicms |
| 管理员账号 | 后台登录账号 |
| 管理员密码 | 后台登录密码(建议 8 位以上复杂密码) |
| 网站地址 | 绑定的域名,如 https://www.anqicms.com |
- 安装成功后,访问
域名/system/进入后台
方式一补充:旧版宝塔(9.0 以前)使用「其他项目」部署
如果你的宝塔面板版本低于 7.9.3,没有 Go 项目 菜单,可以使用 其他项目 → 添加通用项目 的方式部署,配置项与 Go 项目完全一致。
Step 1:上传安装包
同方式一 Step 1,创建目录并上传解压安装包。
Step 2:创建通用项目站点
- 宝塔面板 → 网站 → 其他项目 → 添加通用项目
- 填写以下配置:
| 配置项 | 填写内容 |
|---|---|
| 项目执行文件 | /www/wwwroot/anqicms.com/anqicms |
| 项目名称 | AnQiCMS(可自定义) |
| 项目端口 | 8001 |
| 执行命令 | /www/wwwroot/anqicms.com/anqicms |
| 运行用户 | www |
| 开机启动 | ✅ 勾选 |
| 绑定域名 | 填写已解析的域名 |
- 点击 提交,完成添加
Step 3:初始化安装
同方式一的 Step 3,在浏览器中访问绑定的域名,进入初始化安装界面。
方式二:宝塔 7.9.0 以前版本(Nginx 反向代理)
Step 1:上传安装包并启动
同方式一 Step 1,上传并解压安装包。
启动 AnQiCMS:
bash
# 进入站点目录
cd /www/wwwroot/anqicms.com
# 执行启动脚本
./start.sh
Step 2:创建 PHP 纯静态站点
- 宝塔面板 → 网站 → 添加站点
- 填写域名,PHP 版本 选择 纯静态
- 不创建 FTP 和数据库
- 点击 提交
Step 3:设置运行目录
- 在站点列表操作栏点击 设置
- 选择 网站目录 标签
- 将 运行目录 设置为
/public - 点击 保存

Step 4:配置 Nginx 反向代理
- 选择 伪静态 标签
- 填写以下伪静态规则:
nginx
location @AnqiCMS {
proxy_pass http://127.0.0.1:8001;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location / {
try_files $uri $uri/index.html @AnqiCMS;
}

- 点击 保存
Step 5:添加计划任务保活
为了让 AnQiCMS 在服务器重启后自动运行,需要添加计划任务。
添加每分钟执行的启动检测任务:
- 宝塔面板 → 计划任务
- 任务类型:Shell 脚本
- 执行周期 :每分钟(
* * * * *) - 任务名称 :
AnQiCMS 启动检测 - 脚本内容:
bash
#!/bin/bash
### check and start AnQiCMS
BINNAME=anqicms
BINPATH=/www/wwwroot/anqicms.com
# 检查进程是否存在
exists=`ps -ef | grep '\<anqicms\>' |grep -v grep |wc -l`
if [ $exists -eq 0 ]; then
echo "$BINNAME NOT running, starting..."
cd $BINPATH && nohup $BINPATH/$BINNAME >> $BINPATH/running.log 2>&1 &
fi
注意 :
BINPATH需要替换为你的站点实际路径。

添加每月执行的停止脚本(可选):
bash
#!/bin/bash
### stop anqicms
BINNAME=anqicms
BINPATH=/www/wwwroot/anqicms.com
exists=`ps -ef | grep '\<anqicms\>' |grep -v grep |awk '{printf $2}'`
if [ -n "$exists" ]; then
kill -9 $exists
echo "$BINNAME stopped"
fi

Step 6:初始化安装
同方式一的 Step 3。
验证安装
安装完成后,通过以下方式验证:
- 前台访问:浏览器打开绑定的域名,应显示网站首页
- 后台访问 :浏览器打开
域名/system/,应显示后台登录页面 - 默认账号:安装时设置的管理员账号密码
❓ 宝塔有"Go 项目"和"纯静态+Nginx"两种部署方式,我该选哪种?
两种方式的最终效果相同,主要区别在于配置复杂度:
| 对比项 | Go 项目部署(方式一) | 纯静态+Nginx(方式二) |
|---|---|---|
| 适用宝塔版本 | 7.9.3+(推荐 9.x) | 7.x / 8.x / 9.x 均可 |
| 配置步骤 | 3 步完成 | 6 步完成 |
| 自动保活 | ✅ 宝塔自动管理进程 | ❌ 需手动配置计划任务 |
| 项目管理 | 宝塔界面可查看运行状态 | 需手动检查进程 |
| 学习成本 | 更低 | 略高 |
建议 :如果你的宝塔面板版本支持(7.9.3+),优先使用方式一(Go 项目部署),更简单省心。
❓ Go 项目部署时提示"项目执行文件不存在",但文件明明在目录里?
这种情况一般是因为 config.json 中配置的 env 为 development 或 debug 模式,或者端口配置与宝塔设置不一致导致。
排查步骤:
- 检查
config.json中的端口是否与宝塔"项目端口"填写的一致 - 检查可执行文件是否有执行权限:
chmod +x /www/wwwroot/你的域名/anqicms - 检查宝塔面板中"项目执行文件"的路径是否精确指向可执行文件(不是指向目录)
- 如果是 Windows 服务器,确保选择的是
.exe文件
❓ 计划任务每分钟检测一次 anqicms 进程,会不会太频繁、影响性能?
完全不用担心。ps -ef | grep anqicms | wc -l 这个命令的执行时间大约是 0.01 秒,对服务器的性能影响微乎其微,几乎可以忽略不计。
实际上即使改成每 5 秒执行一次也不会有什么影响。设置成每分钟一次是考虑到 crontab 的最小粒度限制,已经足够检测到进程异常退出。
如果进程退出后,检测脚本会在 1 分钟内重新启动它,1 分钟的服务中断对搜索引擎和用户基本无感。
❓ 如何配置 HTTPS?直接在外面的站点设置中配置可以吗?
可以,直接在宝塔站点管理中配置。 HTTPS 是 Nginx 的职责,AnQiCMS 本身不需要配置证书。
操作步骤:
- 宝塔面板 → 站点管理 → 站点列表 → 找到你的站点 → 点击 SSL
- 选择 Let's Encrypt 或其他免费证书
- 勾选域名,点击 申请
- 申请成功后,开启 强制 HTTPS
注意 :配置 HTTPS 后,记得在 AnQiCMS 后台 → 设置 → 全局设置 中将"网站地址"从 http:// 改为 https://。否则后台生成的链接可能仍使用 HTTP。