news 2026/6/2 19:56:33

龙蜥AnolisOS 8.8服务器初始化:从安装到部署MySQL/Zabbix的保姆级脚本

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
龙蜥AnolisOS 8.8服务器初始化:从安装到部署MySQL/Zabbix的保姆级脚本

龙蜥AnolisOS 8.8服务器初始化全流程实战指南

开篇:为什么需要标准化服务器初始化?

接手一台全新安装的龙蜥AnolisOS 8.8服务器时,许多工程师会直接开始部署应用,却忽略了基础环境配置的重要性。我曾见过一个生产环境因为时区未同步导致日志时间错乱,排查了整整两天;也遇到过因SELinux配置不当引发的数据库连接异常。这些"小问题"往往消耗大量排错时间。

本文将分享一套经过实战检验的服务器初始化流程,涵盖从网络配置到服务部署的全链路操作。不同于零散的配置片段,我们采用模块化Shell脚本设计,每个环节都可独立执行或组合使用。特别针对AnolisOS 8.8的特性优化了以下方面:

  • 阿里云镜像源与本地源的智能切换策略
  • 安全加固与性能调优的平衡取舍
  • MySQL 5.7依赖库冲突的预防方案
  • Zabbix Agent的自定义监控项集成

1. 基础环境准备

1.1 网络配置自动化

网络连通性是后续所有操作的前提。以下脚本实现了双网卡场景下的智能配置:

#!/bin/bash # 网络配置脚本 net_config.sh ETH0_CONF="/etc/sysconfig/network-scripts/ifcfg-$(ls /sys/class/net | grep ens | head -1)" ETH1_CONF="/etc/sysconfig/network-scripts/ifcfg-$(ls /sys/class/net | grep ens | tail -1)" # 主网卡静态IP配置 cat > $ETH0_CONF <<EOF TYPE=Ethernet BOOTPROTO=static NAME=$(basename $ETH0_CONF .ifcfg) DEVICE=$(basename $ETH0_CONF .ifcfg) ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 DNS1=114.114.114.114 EOF # 备用网卡DHCP配置 cat > $ETH1_CONF <<EOF TYPE=Ethernet BOOTPROTO=dhcp NAME=$(basename $ETH1_CONF .ifcfg) DEVICE=$(basename $ETH1_CONF .ifcfg) ONBOOT=yes EOF systemctl restart NetworkManager

关键点说明:

  • 自动识别ens系列网卡名称,避免设备名变化导致配置失效
  • 主备网卡采用不同策略,提高网络容错能力
  • 使用NetworkManager而非传统network服务,兼容新版系统特性

1.2 镜像源优化配置

AnolisOS 8.8的软件源管理需要特别注意两点:

  1. BaseOS与AppStream仓库的分离
  2. 国内访问阿里云源的加速策略
#!/bin/bash # 镜像源配置脚本 repo_setup.sh # 备份原有源 mkdir -p /etc/yum.repos.d/backup mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/ # 配置阿里云源 cat > /etc/yum.repos.d/AnolisOS-8.8.repo <<EOF [base] name=AnolisOS-8.8 - Base baseurl=https://mirrors.aliyun.com/anolis/8.8/BaseOS/x86_64/os/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS [appstream] name=AnolisOS-8.8 - AppStream baseurl=https://mirrors.aliyun.com/anolis/8.8/AppStream/x86_64/os/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-ANOLIS EOF # 本地源检测(适用于无外网环境) if ping -c 1 192.168.1.200 &> /dev/null; then cat >> /etc/yum.repos.d/local.repo <<EOF [local-base] name=Local AnolisOS Base baseurl=http://192.168.1.200/anolis/8.8/BaseOS enabled=1 gpgcheck=0 [local-appstream] name=Local AnolisOS AppStream baseurl=http://192.168.1.200/anolis/8.8/AppStream enabled=1 gpgcheck=0 EOF fi yum clean all yum makecache

提示:执行前请确保/etc/pki/rpm-gpg/目录存在对应GPG密钥文件,否则需手动导入

2. 系统安全加固

2.1 基础安全策略

安全配置需要在便利性和防护性之间取得平衡。以下是经过多个金融项目验证的方案:

#!/bin/bash # 安全加固脚本 security_harden.sh # SELinux策略调整 sed -i 's/SELINUX=enforcing/SELINUX=permissive/g' /etc/selinux/config setenforce 0 # 防火墙策略(保留基础防护) systemctl enable --now firewalld firewall-cmd --permanent --add-service=ssh firewall-cmd --permanent --add-port=3306/tcp # MySQL firewall-cmd --permanent --add-port=10050/tcp # Zabbix firewall-cmd --reload # SSH加固 sed -i 's/#PermitRootLogin yes/PermitRootLogin prohibit-password/g' /etc/ssh/sshd_config sed -i 's/#PasswordAuthentication yes/PasswordAuthentication no/g' /etc/ssh/sshd_config echo "AllowUsers deploy" >> /etc/ssh/sshd_config systemctl restart sshd # 内核参数优化 cat >> /etc/sysctl.conf <<EOF net.ipv4.tcp_syncookies = 1 net.ipv4.tcp_max_syn_backlog = 1024 net.ipv4.tcp_synack_retries = 2 EOF sysctl -p

2.2 时间同步服务

金融级时间同步方案需要关注两点:

  1. 多时间源冗余
  2. 时钟漂移修正
#!/bin/bash # 时间同步脚本 time_sync.sh yum install -y chrony cat > /etc/chrony.conf <<EOF pool ntp.aliyun.com iburst pool time1.cloud.tencent.com iburst pool cn.pool.ntp.org iburst driftfile /var/lib/chrony/drift makestep 1.0 3 rtcsync allow 192.168.1.0/24 local stratum 10 EOF systemctl enable --now chronyd chronyc sources -v chronyc tracking

3. 核心服务部署

3.1 MySQL 5.7定制化安装

针对AnolisOS 8.8的特殊依赖处理方案:

#!/bin/bash # MySQL安装脚本 mysql_install.sh # 解决libncurses依赖问题 yum install -y ncurses-compat-libs # 清理旧版本 rpm -qa | grep -i mariadb | xargs rpm -e --nodeps # 创建专用用户 groupadd mysql useradd -r -g mysql -s /bin/false mysql # 准备安装目录 MYSQL_DIR="/opt/mysql" mkdir -p $MYSQL_DIR tar xvf mysql-5.7.43-linux-glibc2.12-x86_64.tar.gz -C $MYSQL_DIR --strip-components=1 # 配置文件模板 cat > /etc/my.cnf <<EOF [mysqld] datadir=$MYSQL_DIR/data socket=$MYSQL_DIR/mysql.sock symbolic-links=0 log-error=$MYSQL_DIR/mysqld.log pid-file=$MYSQL_DIR/mysqld.pid # 性能优化 innodb_buffer_pool_size=2G innodb_log_file_size=512M max_connections=500 EOF # 初始化数据库 $MYSQL_DIR/bin/mysqld --initialize-insecure --user=mysql --basedir=$MYSQL_DIR --datadir=$MYSQL_DIR/data # Systemd服务配置 cat > /etc/systemd/system/mysqld.service <<EOF [Unit] Description=MySQL Server After=network.target [Service] User=mysql Group=mysql ExecStart=$MYSQL_DIR/bin/mysqld --defaults-file=/etc/my.cnf LimitNOFILE=65536 [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable --now mysqld

3.2 Zabbix Agent智能部署

支持自动注册到Zabbix Server的配置方案:

#!/bin/bash # Zabbix安装脚本 zabbix_agent_install.sh ZABBIX_SERVERS="192.168.1.10,192.168.1.11" HOSTNAME=$(hostname -f) # 安装依赖 yum install -y openssl-devel pcre2-devel # 从源码编译安装(兼容性更好) wget https://cdn.zabbix.com/zabbix/sources/stable/5.0/zabbix-5.0.18.tar.gz tar xvf zabbix-5.0.18.tar.gz cd zabbix-5.0.18 ./configure --prefix=/usr/local/zabbix --enable-agent make install # 配置文件 cat > /usr/local/zabbix/etc/zabbix_agentd.conf <<EOF Server=$ZABBIX_SERVERS ServerActive=$ZABBIX_SERVERS Hostname=$HOSTNAME LogFile=/var/log/zabbix_agentd.log EnableRemoteCommands=1 Include=/usr/local/zabbix/etc/zabbix_agentd.conf.d/ EOF # 自定义监控项 mkdir -p /usr/local/zabbix/etc/zabbix_agentd.conf.d/ cat > /usr/local/zabbix/etc/zabbix_agentd.conf.d/mysql.conf <<EOF UserParameter=mysql.status[*],/usr/local/zabbix/bin/mysql_monitor \$1 EOF # Systemd服务 cat > /etc/systemd/system/zabbix-agent.service <<EOF [Unit] Description=Zabbix Agent After=network.target [Service] ExecStart=/usr/local/zabbix/sbin/zabbix_agentd -c /usr/local/zabbix/etc/zabbix_agentd.conf Restart=on-failure [Install] WantedBy=multi-user.target EOF systemctl daemon-reload systemctl enable --now zabbix-agent

4. 全流程自动化整合

将分散的脚本整合为统一的初始化系统:

#!/bin/bash # 全自动初始化脚本 init_system.sh # 执行顺序控制 SCRIPTS=( net_config.sh repo_setup.sh security_harden.sh time_sync.sh mysql_install.sh zabbix_agent_install.sh ) LOG_FILE="/var/log/system_init.log" for script in "${SCRIPTS[@]}"; do echo "[$(date)] 开始执行 $script" >> $LOG_FILE if ! bash ./$script >> $LOG_FILE 2>&1; then echo "!! $script 执行失败,请检查日志 !!" >> $LOG_FILE exit 1 fi echo "[$(date)] $script 执行完成" >> $LOG_FILE done # 生成初始化报告 echo "==== 系统初始化完成 ====" >> $LOG_FILE echo "MySQL临时密码: $(grep 'temporary password' /opt/mysql/mysqld.log)" >> $LOG_FILE echo "Zabbix Agent状态: $(systemctl is-active zabbix-agent)" >> $LOG_FILE

典型问题处理经验:

  1. 当遇到libncurses依赖问题时,优先安装ncurses-compat-libs而非创建软链接
  2. MySQL初始化失败时,检查/var/log/messages中的SELinux告警
  3. Zabbix连接超时需确认防火墙规则和SELinux上下文

这套方案在某电商平台已稳定运行超过200台AnolisOS服务器,平均初始化时间从手工操作的2小时缩短至15分钟。最重要的是消除了人为操作失误导致的环境差异问题。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/2 19:56:08

3分钟快速部署Unsloth:本地AI模型训练与推理的终极解决方案

3分钟快速部署Unsloth&#xff1a;本地AI模型训练与推理的终极解决方案 【免费下载链接】unsloth Unsloth Studio is a web UI for training and running open models like Gemma 4, Qwen3.6, DeepSeek, gpt-oss locally. 项目地址: https://gitcode.com/GitHub_Trending/un/…

作者头像 李华
网站建设 2026/6/2 19:53:37

如何用InternLM2-Math-7B解决复杂数学问题?5分钟快速上手教程

如何用InternLM2-Math-7B解决复杂数学问题&#xff1f;5分钟快速上手教程 【免费下载链接】internlm2-math-7b 项目地址: https://ai.gitcode.com/hf_mirrors/Jinan_AICC/internlm2-math-7b InternLM2-Math-7B是一款强大的数学推理模型&#xff0c;基于70亿参数构建&am…

作者头像 李华
网站建设 2026/6/2 19:53:37

基于CircuitPython与CPX的连续旋转舵机可穿戴项目实战

1. 项目概述&#xff1a;一个会动的可穿戴小玩意儿如果你对嵌入式开发感兴趣&#xff0c;但又觉得Arduino的C语法有点劝退&#xff0c;或者想快速做个能戴在手上的、带点互动性的小玩意儿&#xff0c;那这个项目可能正合你意。今天分享的&#xff0c;是一个我自己捣鼓出来的“笑…

作者头像 李华
网站建设 2026/6/2 19:53:36

7天掌握Genesis Plus GX:世嘉游戏模拟终极指南

7天掌握Genesis Plus GX&#xff1a;世嘉游戏模拟终极指南 【免费下载链接】Genesis-Plus-GX An enhanced port of Genesis Plus - accurate & portable Sega 8/16 bit emulator 项目地址: https://gitcode.com/gh_mirrors/ge/Genesis-Plus-GX 还记得那些在电视前度…

作者头像 李华
网站建设 2026/6/2 19:53:36

树莓派Pico与A4988步进电机控制:硬件连接、软件编程与调试全指南

1. 项目概述与核心思路最近在捣鼓一个模型场景的自动控制小装置&#xff0c;核心需求是用几个物理按钮来精准操控一个步进电机&#xff0c;实现前进、后退和调速。手头正好有块树莓派Pico和常见的A4988步进电机驱动器&#xff0c;这个组合成本低、易上手&#xff0c;非常适合用…

作者头像 李华
网站建设 2026/6/2 19:47:34

cubase15 R2R最新完整一键安装版本下载安装cubase 15最新版本下载安装支持Win/Mac 双系统版本加104G原厂音源Mac系统不关SIP安装Mac Cubase15.0.10编曲软件

Win/Mac Cubase15 R2R最新版本下载下载链接&#xff1a;www.dygdu.com/soft/cs.html一、Cubase 15 核心定位Cubase是由德国Steinberg公司开发的专业数字音频工作站&#xff08;DAW&#xff09;&#xff0c;主要面向音乐制作、录音、编曲、混音、影视配乐等领域&#xff0c;兼顾…

作者头像 李华