AUXPI 图床系统一键安装脚本详解
2025-07-10 07:25:48作者:裴锟轩Denise
脚本概述
AUXPI 是一款开源的图床系统,本文要分析的 install.sh
是一个自动化安装脚本,它能够帮助用户在 Linux 系统上快速部署 AUXPI 图床服务。该脚本提供了完整的安装、更新以及依赖环境配置功能,极大简化了部署流程。
系统要求
脚本支持以下操作系统:
- CentOS
- Debian
- Ubuntu
- Darwin (macOS)
主要功能模块
1. 系统检测模块
check_sys()
函数通过检查 /etc/issue
和 /proc/version
文件内容,自动识别当前系统的发行版本(CentOS/Debian/Ubuntu)和架构(32/64位)。
check_sys(){
if [[ -f /etc/redhat-release ]]; then
release="centos"
elif cat /etc/issue | grep -q -E -i "debian"; then
release="debian"
elif cat /etc/issue | grep -q -E -i "ubuntu"; then
release="ubuntu"
...
}
2. 权限检查模块
check_root()
函数确保脚本以 root 权限运行,避免因权限不足导致安装失败。
check_root(){
[[ $EUID != 0 ]] && echo -e "${Error} 当前非ROOT账号..." && exit 1
}
3. 核心安装功能
install()
函数实现了 AUXPI 的核心安装流程:
- 检查是否已安装
- 创建安装目录
- 下载 AUXPI 压缩包(版本 2.3.9)
- 解压并移动文件
- 设置可执行权限
- 初始化配置
function install() {
[[ -e "${install_path}/auxpi" ]] && echo "已安装" && exit 1
check_root
mkdir -p ${install_path}
wget --no-check-certificate -O "auxpi.tar.gz" "下载地址"
tar zxvf "auxpi.tar.gz"
chmod +x auxpi
./auxpi init
}
4. 更新功能
update()
函数实现了平滑升级:
- 备份配置和公共文件
- 移除旧版本
- 安装新版本
- 恢复备份的配置
function update() {
[[ ! -e "${install_path}/auxpi" ]] && echo "未安装" && exit 1
cp -r ${install_path}/conf ${auxpi_backup_path}
rm -rf ${install_path}
install
mv ${auxpi_backup_path}/conf ${install_path}
}
5. 依赖安装功能
脚本提供了完整的依赖环境安装选项:
install_mysql()
: 安装 MySQL 数据库install_nginx()
: 安装 Nginx 服务器install_all()
: 一键安装所有依赖(Nginx+MySQL+Redis+Memcached+iptables)
使用指南
脚本支持多种安装模式,通过命令行参数调用:
# 基本用法
./install.sh [command]
# 可用命令
all # 安装完整环境(Nginx+MySQL+AUXPI)
install # 仅安装AUXPI
update # 更新AUXPI
mysql # 安装MySQL
nginx # 安装Nginx
help # 显示帮助信息
安装路径说明
- 主程序安装路径:
/root/auxpi
- 备份目录:
/root/auxpi_backup
- 配置文件路径:
/root/auxpi/conf/siteConfig.json
注意事项
- 脚本需要 root 权限执行
- 默认数据库密码为 "auxpi_password",安装后请及时修改
- 更新操作会保留原有配置和上传的图片
- 完整安装会配置 iptables 防火墙规则
最佳实践建议
- 生产环境建议使用单独的数据库用户而非 root
- 安装完成后应配置 HTTPS 加密
- 定期备份
/root/auxpi/conf
和/root/auxpi/public
目录 - 考虑使用 systemd 管理 AUXPI 进程
这个安装脚本为 AUXPI 图床系统提供了便捷的部署方案,通过合理的模块化设计,既支持完整环境的一键部署,也允许用户根据需求选择性地安装组件。对于需要快速搭建图床服务的用户来说,这是一个非常实用的工具。