当前位置:网站首页 >  资讯

运维批量运维实操指南:快速完成服务器批量管理落地操作

时间:2026年05月22日 23:56:51 来源:易频IT社区

一、环境准备

根据服务器系统选择对应命令安装Ansible,支持CentOS/RHEL和Ubuntu系统,无额外依赖,新手可直接复制执行。

CentOS/RHEL 7/8

先安装EPEL源再部署Ansible:

``` sudo yum install epel-release -y sudo yum install ansible -y ```

Ubuntu 20.04+

更新源后安装Ansible:

``` sudo apt update sudo apt install ansible -y ```

二、配置主机列表(核心步骤)

Ansible默认主机列表路径为/etc/ansible/hosts,优先配置自定义分组,避免批量误操作。用文本编辑器打开文件:

``` sudo vi /etc/ansible/hosts ```

添加以下内容(替换为你的服务器IP和用户名):

``` [web_nodes] 192.168.31.10 ansible_user=deploy ansible_ssh_private_key_file=~/.ssh/id_rsa 192.168.31.11 ansible_user=deploy ansible_ssh_private_key_file=~/.ssh/id_rsa ```

若未配置SSH密钥,需在本地生成密钥并分发到所有服务器,执行以下命令(一路回车默认即可):

``` ssh-keygen -t rsa -b 4096 ssh-copy-id deploy@192.168.31.10 ssh-copy-id deploy@192.168.31.11 ```

务必确认所有服务器已加入对应分组,分组名(如web_nodes)后续操作会用到。

三、验证连通性

先测试与分组内服务器的连通性,避免后续操作出错:

``` ansible web_nodes -m ping ```

若输出均为SUCCESS,说明配置正确;若报错,检查IP、用户名、密钥权限是否正常。

四、批量执行命令

示例1:批量安装Nginx,普通用户操作时需加-b提权:

``` ansible web_nodes -m shell -a "yum install nginx -y" -b ```

运维批量运维实操指南:快速完成服务器批量管理落地操作

示例2:批量修改服务器主机名,将对应节点的主机名改为web-01、web-02:

``` ansible web_nodes[0] -m shell -a "hostnamectl set-hostname web-01" -b ansible web_nodes[1] -m shell -a "hostnamectl set-hostname web-02" -b ```

说明:shell模块支持执行任意Linux命令,适合简单批量操作。

五、批量分发文件

将本地配置文件同步到所有服务器,示例同步Nginx配置:

1. 本地创建nginx.conf文件,内容如下(可直接复制):

``` user nginx; worker_processes auto; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; events { worker_connections 1024; } http { include /etc/nginx/mime.types; default_type application/octet-stream; server { listen 80; server_name _; location / { root /usr/share/nginx/html; index index.html; } } } ```

2. 执行分发命令,确保文件权限正确:

``` ansible web_nodes -m copy -a "src=./nginx.conf dest=/etc/nginx/nginx.conf owner=root group=root mode=0644" -b ```

参数说明:src为本地文件路径,dest为服务器目标路径,mode为文件权限,避免Nginx读取失败。

六、批量执行自定义脚本

复杂批量操作可通过Shell脚本实现,示例部署Nginx:

1. 创建本地deploy_nginx.sh脚本:

``` !/bin/bash set -e yum install nginx -y systemctl enable nginx systemctl start nginx ```

2. 给脚本添加执行权限:

``` chmod +x deploy_nginx.sh ```

3. 执行批量脚本:

``` ansible web_nodes -m script -a "./deploy_nginx.sh" -b ```

注意:脚本需放在执行Ansible的当前目录,否则需写绝对路径。

七、核心注意事项

  • 禁止使用all分组操作,必须用自定义分组,避免误操作其他服务器;
  • 非root用户操作时务必加-b提权,避免权限不足失败;
  • 执行高危命令(如删除系统文件)前,先在单台服务器测试命令;
  • 多人协作时,可对Hosts文件用ansible-vault encrypt /etc/ansible/hosts加密,保护服务器信息。

相关推荐

最新

热门

推荐

精选

标签

易频IT社区是综合性互联网IT技术门户网站,专注分享网络技术、服务器运维、网络安全、编程开发、系统架构、云计算、大数据等行业干货,实时更新IT行业资讯、零基础教程、实战案例,为IT从业者、技术爱好者提供专业的学习交流平台。

Copyright © 2021-2026 易频IT社区. All Rights Reserved. 备案号:闽ICP备2023013482号 网站地图