安企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。

相关推荐
136096757238 分钟前
LLM 当裁判可靠吗:位置偏见、长度偏见、自我偏好
后端
老约家的可汗27 分钟前
Linux开发三件套:make、git、gdb 入门指南
linux·运维·服务器
拖孩32 分钟前
流量主门槛从 500 降到 100,我的小程序上线 18 小时够到了线
前端·后端·微信小程序
从琳开始98939 分钟前
从Socket到TCP回显服务器:Java网络编程完整指南
java·服务器·网络·tcp/ip·java-ee
养军博客40 分钟前
Spring Security 4.x / 5.x / 6.x 配置全对比:前后端不分离与前后端分离
java·后端·spring·springsecurity
wifi___41 分钟前
SpringBoot自动装配原理
java·spring boot·后端
日日大王学编程44 分钟前
AI 时代后端方向新人的未来规划与看法
人工智能·后端·python·ai·golang
Fox爱分享1 小时前
都问程序员双十一买什么,我的答案一定是这块专业编程显示器
后端·程序员·ai编程
云-缩影1 小时前
做微信小程序,自建服务器还是用云托管:技术选型对比
服务器·微信小程序·小程序
CCblandy1 小时前
缓存淘汰实测:一次全表扫描把 LRU 命中率从 46% 打到 38%,W-TinyLFU 守住 50% 却贵 11 倍
后端·python·缓存·性能优化·架构