CentOS 一键安装 Microi 吾码低代码平台及依赖环境脚本
介绍如何在 CentOS 7 环境下使用一键脚本安装 Microi 吾码开源低代码平台及其依赖环境,包括 MySQL、Redis、MinIO、MongoDB 和 Watchtower。内容涵盖脚本获取方式、安装前的注意事项(如网络配置、Docker 环境)、安装过程中的关键步骤以及脚本核心代码解析。该方案旨在简化部署流程,避免手动编译、打包和配置环境的繁琐操作,适合需要快速搭建低代码平台的开发者。

介绍如何在 CentOS 7 环境下使用一键脚本安装 Microi 吾码开源低代码平台及其依赖环境,包括 MySQL、Redis、MinIO、MongoDB 和 Watchtower。内容涵盖脚本获取方式、安装前的注意事项(如网络配置、Docker 环境)、安装过程中的关键步骤以及脚本核心代码解析。该方案旨在简化部署流程,避免手动编译、打包和配置环境的繁琐操作,适合需要快速搭建低代码平台的开发者。

Microi 吾码是一个开源的低代码平台,旨在通过简化应用程序开发过程,帮助开发者和非开发者快速创建和部署应用。低代码平台通过可视化界面、拖拽操作、预设模板等方式,降低了编程的复杂度,让用户能够以更少的编码工作完成应用开发。
有小伙伴提出他并不想在本地编译代码、打包镜像、上传镜像、安装服务器环境、安装 docker 容器等一系列繁琐的操作。因此博主编写了一键安装【mysql+redis+minio+mongodb+watchtower+低代码平台程序】脚本。
url=https://static.itdos.com/install/install-microi-centos.sh; if [ -f /usr/bin/curl ]; then curl -sSO $url; else wget -O install-microi-centos.sh $url; fi; bash install-microi-centos.sh
docker ps -a --format "{ {.Names}}"| grep "^microi-install-"| xargs -r docker rm -f



目前更新于 2024-11-24 11:47,后续可能会经常更新
#!/bin/bash
echo 'Microi:当前一键脚本版本:2024-11-24 11:47'
# 获取局域网 IP
LAN_IP=$(hostname -I | awk '{print $1}')
echo 'Microi:获取局域网 IP: '$LAN_IP
# 获取公网 IP
PUBLIC_IP=$(curl -s ifconfig.me)
echo 'Microi:获取公网 IP: '$PUBLIC_IP
# 询问用户安装类型
echo 'Microi:您是想在公网访问系统还是内网访问?公网请提前做好端口开放。'
echo 'Microi:输入 g 以公网 IP 安装,输入 n 以内网 IP 安装:'
read -r install_type
if [ "$install_type" == "g" ]; then
ACCESS_IP=$PUBLIC_IP
echo 'Microi:将以公网 IP 安装。'
elif [ "$install_type" == "n" ]; then
ACCESS_IP=$LAN_IP
echo 'Microi:将以内网 IP 安装。'
else
echo 'Microi:无效的输入,脚本退出。'
exit 1
fi
# 检查 Docker 是否安装
if ! [-x "$(command -v docker)" ]; then
echo 'Microi:您未安装 docker,推荐使用 1Panel、宝塔等面板工具来安装 docker 并管理您的服务器!'
echo 'Microi:是否立即安装 Docker?(y/n)'
read -r answer
if [ "$answer" != "y" ]; then
echo 'Microi:安装取消,脚本退出。'
exit 1
fi
# 安装 Docker
echo 'Microi:开始安装 Docker...'
sudo yum update -y
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo systemctl enable docker
echo 'Microi:Docker 已成功安装。'
fi
# 配置 Docker 镜像加速器(现在太难找了,如果报错 timeout 就去阿里云申请一个自己私有的加速地址)
DOCKER_ACCELERATOR="https://mirrors.aliyun.com/docker-ce/"
echo 'Microi:配置 Docker 镜像加速器'
sudo tee /etc/docker/daemon.json <<EOF
{
"registry-mirrors":["${DOCKER_ACCELERATOR}"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
# 生成随机端口和密码函数
echo 'Microi:生成随机端口和密码函数'
generate_random_port(){ shuf -i 17777-65535 -n 1 }
generate_random_password(){ openssl rand -base64 12| tr -dc 'A-Za-z0-9'| head -c16 }
# 生成随机数据目录
generate_random_data_dir(){ local container_name="$1" local dir="/home/data-${container_name}-$(openssl rand -hex 4)" mkdir -p "${dir}" echo "${dir}"}
# 检查并提示用户手动删除已有容器
echo 'Microi:检查并提示用户手动删除已有容器'
if docker ps -a --format '{ {.Names}}'| grep -q '^microi-install-'; then
echo 'Microi:脚本重复运行前,需要先通过命令【docker ps -a --format "{ {.Names}}" | grep "^microi-install-" | xargs -r docker rm -f】删除所有相关容器后再重新运行,注意此操作将会删除数据库、MinIO 文件,请谨慎操作'
exit 1
fi
# 检查并安装 unzip
if ! [-x "$(command -v unzip)" ]; then
echo 'Microi:您未安装 unzip,正在为您安装...'
sudo yum install -y unzip
if [ $? -ne 0 ]; then
echo 'Microi:unzip 安装失败,脚本退出。'
exit 1
fi
echo 'Microi:unzip 已成功安装。'
else
echo 'Microi:unzip 已安装。'
fi
# 创建 MySQL 配置文件
MYSQL_CONF_FILE="/tmp/my_microi.cnf"
echo '[mysqld]' > ${ MYSQL_CONF_FILE}
echo 'lower_case_table_names = 1' >> ${ MYSQL_CONF_FILE}
echo 'max_connections = 500' >> ${ MYSQL_CONF_FILE}
echo 'key_buffer_size = 268435456' >> ${ MYSQL_CONF_FILE}
echo 'query_cache_size = 268435456' >> ${ MYSQL_CONF_FILE}
echo 'innodb_buffer_pool_size = 1G' >> ${ MYSQL_CONF_FILE}
cp ${ MYSQL_CONF_FILE} /etc/my.cnf.d/microi.cnf
# 初始化数据目录
echo 'Microi:创建数据目录...'
mkdir -p /home/data/mysql /home/data/redis /home/data/minio /home/data/mongodb
# 拉取并启动容器
echo 'Microi:开始部署 Microi 应用...'
# 此处省略具体的 Docker Compose 或 Docker Run 命令,实际脚本包含完整的容器编排逻辑
echo 'Microi:安装完成!请根据提示访问系统。'
无

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML转Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online
将JSON字符串修饰为友好的可读格式。 在线工具,JSON美化和格式化在线工具,online