安企CMS的安装-源码编译安装

📅 👁️ 1

适用人群:需要二次开发、定制功能,或官方提供的二进制包无法满足需求的开发者。

难度:⭐⭐⭐⭐(需要熟悉 GoLang 和命令行操作)


前置条件

软件 版本要求 说明
GoLang 1.13+(推荐 1.25+) 编译 Go 源码
Git 任意版本 克隆代码仓库
MySQL 5.6.35+ 运行数据库

如果尚未安装 GoLang,请访问 https://go.dev/dl/ 下载安装。


获取源码

# 从 GitHub 克隆(推荐)
git clone https://github.com/fesiong/anqicms.git

# 或从 GitCode 镜像(国内用户)
git clone https://gitcode.com/anqicms/anqicms.git

# 进入项目目录
cd anqicms

编译准备

设置 Go 代理(国内用户)

go env -w GOPROXY=https://goproxy.cn,direct

下载依赖

go mod tidy
go mod vendor

编译可执行文件

方法一:测试运行(不生成二进制文件)

# 直接运行源码,用于调试和测试
go run kandaoni.com/anqicms/main

运行后,浏览器访问 http://127.0.0.1:8001 即可看到效果。

方法二:生成二进制文件

Windows 系统:

go build -ldflags '-w -s -H=windowsgui' -o ./anqicms.exe kandaoni.com/anqicms/main
  • -w -s:去除调试信息,减小文件体积
  • -H=windowsgui:Windows GUI 模式,运行时不显示命令行窗口

MacOS 系统:

go build -ldflags '-w -s' -o ./anqicms kandaoni.com/anqicms/main

Linux 系统:

推荐使用项目自带的 Makefile:

make

编译完成后,在项目根目录下生成 release/ 目录,其中包含了完整的运行环境(可执行文件、模板文件、静态资源等):

release/
├── anqicms               # 编译好的可执行文件
├── config.sample.json    # 配置文件示例
├── template/             # 模板目录
├── public/               # Web 根目录
├── system/               # 后台管理界面
├── locales/              # 多语言包
├── data/                 # 数据目录
├── start.sh              # 启动脚本
├── stop.sh               # 停止脚本
└── doc/                  # 开发文档

也可以直接编译:

go build -ldflags '-w -s' -o ./anqicms kandaoni.com/anqicms/main

交叉编译

在不同平台上为目标平台编译:

# 在 MacOS 上编译 Linux 版本
GOOS=linux GOARCH=amd64 go build -ldflags '-w -s' -o ./anqicms-linux kandaoni.com/anqicms/main

# 在 MacOS 上编译 Windows 版本
GOOS=windows GOARCH=amd64 go build -ldflags '-w -s -H=windowsgui' -o ./anqicms.exe kandaoni.com/anqicms/main

# 在 Linux 上编译 Windows 版本
GOOS=windows GOARCH=amd64 go build -ldflags '-w -s -H=windowsgui' -o ./anqicms.exe kandaoni.com/anqicms/main

GOOSGOARCH 是 Go 交叉编译的环境变量,分别指定目标操作系统和 CPU 架构。


编译后端管理界面

注意:如果从 GitHub 克隆代码,后台管理界面(system/ 目录)默认是空的,需要单独编译或下载。

方式一:下载预构建包

anqicms-admin Releases 下载最新版 system.zip,解压到 AnQiCMS 项目根目录下的 system 文件夹。

# 下载 system.zip
wget https://github.com/fesiong/anqicms-admin/releases/latest/download/system.zip

# 解压到 system 目录
unzip system.zip -d system/

方式二:自行编译

如果需要对后台管理界面进行二次开发,可以克隆 anqicms-admin 仓库自行构建(Vue.js 项目):

git clone https://github.com/fesiong/anqicms-admin.git
cd anqicms-admin

# 安装依赖
npm install

# 构建
npm run build

# 构建产物在 dist/ 目录,将其复制到 anqicms 根目录下的 system/ 目录
cp -r dist/* /path/to/anqicms/system/

运行编译后的版本

# 1. 将编译好的文件复制到目标目录
# 2. 编辑 config.json 配置端口等信息
# 3. 启动
./start.sh

# 或直接运行
./anqicms

# 首次运行会提示初始化,访问 http://127.0.0.1:8001 进入安装界面

Makefile 常用命令

项目根目录下的 Makefile 提供了便捷的编译命令:

# 查看所有可用命令
make help

# 编译(生成 release 目录)
make

# 清理编译产物
make clean

# 运行测试
make test

# 查看版本号
make version

❓ 执行 go run kandaoni.com/anqicms/main 时提示 go: not found 怎么办?

说明 Go 语言环境没有安装或没有正确配置环境变量。

# 检查 Go 是否安装
go version
# 如果输出 "command not found",说明没有安装

# 安装 Go(Ubuntu/Debian 示例)
apt install golang-go

# 或从官网下载最新版
# 访问 https://go.dev/dl/ 下载对应系统的安装包

# 安装后验证
go version
# 应输出类似:go version go1.25.5 linux/amd64

国内用户安装 Go 后还需要设置代理:

go env -w GOPROXY=https://goproxy.cn,direct

❓ 编译出来的二进制包体积很大(上百 MB),能缩小吗?

默认编译出来的二进制包包含调试信息和符号表,体积较大。通过以下方法可以显著缩小体积:

方法 命令 效果
去除调试信息 go build -ldflags '-w -s' 约减小 40%
UPX 压缩 upx anqicms 约减小 70%

完整优化命令

# 编译时去除调试信息
go build -ldflags '-w -s' -o ./anqicms kandaoni.com/anqicms/main

# 安装 UPX(Ubuntu)
apt install upx

# 压缩二进包
upx anqicms

# 压缩后体积可降至 15-20 MB

v3.6.1 之后官方已经做了体积优化(从 103 MB 降到 51 MB),源码编译时同样有效。

❓ 我修改了源码,编译后如何确认修改已经生效?

几种验证方式:

# 方式一:通过版本号验证(如果在代码中修改了版本号)
./anqicms --version

# 方式二:通过编译时间戳验证
ls -la ./anqicms
# 查看文件的修改时间,确认是刚刚编译的

# 方式三:直接验证功能
# 如果你的修改是增加了某个新标签或新接口
# 可以直接在浏览器中访问对应的 URL 确认

# 方式四:校验文件 MD5(前后对比)
md5sum ./anqicms
# 每次编译的 MD5 都不同

记住:每次修改源码后,必须重新编译并重启 AnQiCMS 进程,修改才会生效。重启后还要在后台更新缓存。

相关文章

安企CMS的安装-Docker 部署

Docker 部署是 AnQiCMS 最快捷的安装方式,适合快速体验和测试环境。 Docker 镜像地址:https://hub.docker.com/r/anqicms/anqicms 方式一:Docker 命令行部署 适用于已安装 Docker 的环境(任何操作系统)。 快速启动 # 拉取最新镜像 docker pull anqicms/anqicms:latest # 运行容器 docker run -d --name anqicms -p 8001:8001

2026-07-18

安企CMS的安装-服务器手动部署

适用场景 :无面板的 Linux 服务器(如 CentOS / Ubuntu),适合熟悉命令行操作的用户。通过下载安装包、配置 Nginx 反向代理和 MySQL 数据库的方式完成部署。 前置准备 一台 Linux 服务器(CentOS 7+ 或 Ubuntu 20.04+) 已安装 Nginx 和 MySQL 5.6.35+(推荐使用 LNMP 一键安装包 ) 一个已解析到服务器的域名 已下载 AnQiCMS Linux 安装包 安装步骤 Step 1:下载并解压 # 登录服务器 ssh

2026-07-18

安企CMS的安装-PHPStudy(小皮面板)部署

适用场景 :Windows 本地开发环境或 Windows 服务器。PHPStudy(小皮面板)集成 Nginx、MySQL、PHP 等组件,AnQiCMS 在其中通过 Nginx 反向代理方式运行。 前置准备 已安装 PHPStudy(小皮面板) 软件运行模式切换为 Nginx + MySQL 套餐 一个本地测试域名(如 dev.anqicms.com )或使用 IP + 端口访问 已下载 AnQiCMS Windows 安装包 安装步骤 Step 1:创建站点 打开 PHPStudy

2026-07-18

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

2.2 宝塔面板部署 适用版本 :宝塔面板 7.9.3+。宝塔面板部署分为传统部署(上传安装包,配置反向代理)和 Docker 一键部署两种方式,本章先介绍传统部署方式。 前置准备 一台已安装宝塔面板的 Linux 服务器(CentOS / Ubuntu / Debian 均可) 一个已解析到服务器的域名(如 www.anqicms.com ) 已安装 MySQL 5.6.35+(推荐 5.7+ 或 8.0) 从官网或 GitHub 下载 AnQiCMS Linux 安装包 方式一:宝塔 7

2026-07-18

安企CMS的下载与安装

介绍安企CMS安装包的多种下载渠道(官网、GitHub、镜像站)、不同操作系统与架构的版本选择方法以及安装包的文件校验方式,确保下载到正确且完整的版本。

2026-07-10

安企CMS的安装-同一服务器多站点部署

安企CMS 支持在同一台服务器上运行多个独立站点,每个站点拥有独立的域名、数据库、模板和管理员。本章详细介绍多站点配置的完整步骤和注意事项。 方案一:多站点管理(推荐) 适用条件 :已有一个安装好并运行的 AnQiCMS 主站点。 此方案使用 AnQiCMS 内置的 多站点管理 功能,所有站点共用同一个 AnQiCMS 程序,但各自独立运行。不需要复制多份代码。 前置准备 已部署并正常运行一个 AnQiCMS 主站点(端口 8001) 主站后台有 多站点管理 菜单权限(默认安装的站点具备)

2026-07-18

安企CMS的安装-安装引导与初始化

首次启动 AnQiCMS 时,需要完成初始化安装,包括配置数据库连接信息、设置管理员账号密码、指定站点名称等关键步骤,是系统正式使用前的必经环节。 何时需要初始化 以下情况需要进行初始化安装: 场景 说明 首次部署 全新安装 AnQiCMS 恢复出厂状态 清空数据后重新安装 如果通过 宝塔 Docker 或 aaPanel Docker 安装,系统会自动完成初始化(默认账号 admin / 密码 123456),无需手动执行初始化流程。 初始化步骤 Step 1:启动 AnQiCMS 确保

2026-07-18

安企CMS的安装-常见安装问题排查

汇总安企CMS安装过程中的常见问题及解决方案,涵盖端口被占用、数据库连接失败、页面白屏、权限错误、依赖缺失等典型场景,帮助用户快速定位并解决问题。 问题 1:端口被占用 现象 :启动 AnQiCMS 后,网站无法访问。 原因 :默认端口 8001 被其他程序占用。 排查方法 : # Linux / MacOS:查看 8001 端口被谁占用 lsof -i:8001 # 输出示例: # COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME #

2026-07-18