安企CMS的安装-宝塔面板部署

适用版本:宝塔面板 7.9.3+。宝塔面板部署分为传统部署(上传安装包,配置反向代理)和 Docker 一键部署两种方式,本章先介绍传统部署方式。


前置准备

  1. 一台已安装宝塔面板的 Linux 服务器(CentOS / Ubuntu / Debian 均可)
  2. 一个已解析到服务器的域名(如 www.anqicms.com)
  3. 已安装 MySQL 5.6.35+(推荐 5.7+ 或 8.0)
  4. 从官网或 GitHub 下载 AnQiCMS Linux 安装包

方式一:宝塔 7.9.3+ 使用 Go 项目部署

Step 1:上传安装包

  1. 进入宝塔面板 → 文件 → 进入 /www/wwwroot/ 目录
  2. 创建一个以域名命名的目录,如 anqicms.com
  3. 进入该目录,上传 Linux 安装包(如 anqicms-linux-v3.6.2.zip)
  4. 在安装包上右键选择 解压,解压到当前目录

Step 2:创建 Go 项目站点

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

Step 3:初始化安装

  1. 在浏览器中访问绑定的域名
  2. 进入 AnQiCMS 初始化安装界面
  3. 填写数据库信息、管理员账号密码
字段 说明
数据库主机 一般为 127.0.0.1
数据库端口 一般为 3306
数据库用户名 MySQL 用户名(建议用 root 或具有创建数据库权限的用户)
数据库密码 对应的密码
数据库名称 自动创建,如 anqicms
管理员账号 后台登录账号
管理员密码 后台登录密码(建议 8 位以上复杂密码)
网站地址 绑定的域名,如 https://www.anqicms.com
  1. 安装成功后,访问 域名/system/ 进入后台

方式一补充:旧版宝塔(9.0 以前)使用「其他项目」部署

如果你的宝塔面板版本低于 7.9.3,没有 Go 项目 菜单,可以使用 其他项目 → 添加通用项目 的方式部署,配置项与 Go 项目完全一致。

Step 1:上传安装包

同方式一 Step 1,创建目录并上传解压安装包。

Step 2:创建通用项目站点

  1. 宝塔面板 → 网站 → 其他项目 → 添加通用项目
  2. 填写以下配置:
配置项 填写内容
项目执行文件 /www/wwwroot/anqicms.com/anqicms
项目名称 AnQiCMS(可自定义)
项目端口 8001
执行命令 /www/wwwroot/anqicms.com/anqicms
运行用户 www
开机启动 ✅ 勾选
绑定域名 填写已解析的域名
  1. 点击 提交,完成添加

Step 3:初始化安装

同方式一的 Step 3,在浏览器中访问绑定的域名,进入初始化安装界面。


方式二:宝塔 7.9.0 以前版本(Nginx 反向代理)

Step 1:上传安装包并启动

同方式一 Step 1,上传并解压安装包。

启动 AnQiCMS:

bash 复制代码
# 进入站点目录
cd /www/wwwroot/anqicms.com
# 执行启动脚本
./start.sh

Step 2:创建 PHP 纯静态站点

  1. 宝塔面板 → 网站 → 添加站点
  2. 填写域名,PHP 版本 选择 纯静态
  3. 不创建 FTP 和数据库
  4. 点击 提交

Step 3:设置运行目录

  1. 在站点列表操作栏点击 设置
  2. 选择 网站目录 标签
  3. 将 运行目录 设置为 /public
  4. 点击 保存

Step 4:配置 Nginx 反向代理

  1. 选择 伪静态 标签
  2. 填写以下伪静态规则:
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;
}
  1. 点击 保存

Step 5:添加计划任务保活

为了让 AnQiCMS 在服务器重启后自动运行,需要添加计划任务。

添加每分钟执行的启动检测任务:

  1. 宝塔面板 → 计划任务
  2. 任务类型:Shell 脚本
  3. 执行周期 :每分钟(* * * * *)
  4. 任务名称 :AnQiCMS 启动检测
  5. 脚本内容:
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。


验证安装

安装完成后,通过以下方式验证:

  1. 前台访问:浏览器打开绑定的域名,应显示网站首页
  2. 后台访问 :浏览器打开 域名/system/,应显示后台登录页面
  3. 默认账号:安装时设置的管理员账号密码

❓ 宝塔有"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 模式,或者端口配置与宝塔设置不一致导致。

排查步骤:

  1. 检查 config.json 中的端口是否与宝塔"项目端口"填写的一致
  2. 检查可执行文件是否有执行权限:chmod +x /www/wwwroot/你的域名/anqicms
  3. 检查宝塔面板中"项目执行文件"的路径是否精确指向可执行文件(不是指向目录)
  4. 如果是 Windows 服务器,确保选择的是 .exe 文件

❓ 计划任务每分钟检测一次 anqicms 进程,会不会太频繁、影响性能?

完全不用担心。ps -ef | grep anqicms | wc -l 这个命令的执行时间大约是 0.01 秒,对服务器的性能影响微乎其微,几乎可以忽略不计。

实际上即使改成每 5 秒执行一次也不会有什么影响。设置成每分钟一次是考虑到 crontab 的最小粒度限制,已经足够检测到进程异常退出。

如果进程退出后,检测脚本会在 1 分钟内重新启动它,1 分钟的服务中断对搜索引擎和用户基本无感。

❓ 如何配置 HTTPS?直接在外面的站点设置中配置可以吗?

可以,直接在宝塔站点管理中配置。 HTTPS 是 Nginx 的职责,AnQiCMS 本身不需要配置证书。

操作步骤:

  1. 宝塔面板 → 站点管理 → 站点列表 → 找到你的站点 → 点击 SSL
  2. 选择 Let's Encrypt 或其他免费证书
  3. 勾选域名,点击 申请
  4. 申请成功后,开启 强制 HTTPS

注意 :配置 HTTPS 后,记得在 AnQiCMS 后台 → 设置 → 全局设置 中将"网站地址"从 http:// 改为 https://。否则后台生成的链接可能仍使用 HTTP。

相关推荐
mengchanmian5 小时前
VSFTP 服务器搭建(Centos)
运维·服务器·centos
行百里er6 小时前
Redis 完结篇——Redis 热点问题在 Spring Boot 项目中实战
redis·后端
别动我齐刘海6 小时前
Linux 系统调试学习1
linux·运维·服务器·c++·学习·机器学习·机器人
高频因子挖掘机7 小时前
只取最近 60 个交易日,却每次拉全历史:量化脚本变慢的原因与改法
后端·github·api
孟健8 小时前
从5000亿Token到83%字节匹配:AI逆向工程与重构的工程闭环实践
后端·架构·ai编程
不像程序员的程序媛8 小时前
linux常见文本操作命令
linux·运维·服务器
码事漫谈8 小时前
丢得静悄悄,谈一谈 Agent 的记忆是怎么没的
后端
迪飞特科技8 小时前
智慧物业平台实战:Spring Boot 整合小程序实现报修巡检费用全流程
spring boot·后端·小程序
考虑考虑8 小时前
@JsonInclude注解使用
spring boot·后端·spring
IT_陈寒9 小时前
Vite的这个问题坑了我三天,原来如此解决!
前端·人工智能·后端