ansible之playbook\shell\script模块远程自动安装nginx

通过shell模块, 编写安装nginx脚本,为yaml脚本,远程到135机器上安装并启动nginx

复制代码
- hosts: 192.168.45.135
  remote_user: root
  tasks:
  - name: 安装Nginx依赖环境和库文件
    yum:  name=wget,tar,make,gcc,pcre-devel,pcre,zlib-devel state=installed

  - name: 从Nginx官网下载软件包
    shell:  wget -c http://nginx.org/download/nginx-1.26.1.tar.gz -P /usr/src/

  - name: 解压nginx安装包
    shell: cd /usr/src/; tar -xzvf nginx-1.26.1.tar.gz
  - name: 安装Nginx软件服务
    shell: cd /usr/src/nginx-1.26.1/;./configure --prefix=/usr/local/nginx;make;make install
  - name: 启动Nginx服务进程;
    shell: /usr/local/nginx/sbin/nginx

ansible-playbook -C nginx_install.yaml相当于预编译yaml脚本,也可理解为检查剧本是否正确

复制代码
ansible-playbook -C nginx_install.yaml

如果编译通过则显示如下截图所示

真正执行时删除掉-C检查即可

ansible-playbook nginx_install.yaml

此时通过前台访问192.168.45.135,即可成功显示nginx欢迎界面

通过script模块,编写shell脚本安装nginx

复制代码
#!/bin/bash
#2024年9月25日15点12分
#auto install nginx web.
#by author www.jfedu.net
#############################
yum install -y wget tar gcc make pcre-devel zlib-devel
wget -c http://nginx.org//download/nginx-1.26.1.tar.gz -P /usr/src/
cd /usr/src/
ls -l nginx-1.26.1.tar.gz
tar -xzvf nginx-1.26.1.tar.gz
cd nginx-1.26.1/
./configure
make -j4
make -j4 install
/usr/local/nginx/sbin/nginx
firewall-cmd --add-port=80/tcp --permanent
systemctl reload firewalld.service

查看script模块命令运行规则ansible-doc script

执行以下命令远程在138上执行auto_install_nginx.sh脚本,自动安装配置nginx

复制代码
ansible 192.168.45.138 -m script -a "/root/auto_install_nginx.sh"

显示以下结果即为成功,下方防火墙报错可忽略,因为138的防火墙已经处于关闭状态

在138上即可看到安装的nginx进程,并且可在前台访问到nginx服务

通过ansible拷贝模块可以拷贝内容到远程机器

复制代码
ansible 192.168.45.138 -m copy -a "src=/root/auto_install_nginx.sh dest=/tmp/"

之后可以通过shell模块取远程执行138下的shell脚本

ansible 192.168.45.138 -m shell -a "/bin/sh /tmp/auto_install_nginx.sh"

复制代码
ansible 192.168.45.138 -m shell -a "/bin/sh /tmp/auto_install_nginx.sh"
相关推荐
xflySnail2 小时前
nas服务域名高速访问-DNS+ESA
运维·服务器·esa·无端口访问
赵民勇8 小时前
Linux/Unix中install命令全面用法解析
linux·shell
苏宸啊9 小时前
Linux指令篇(一)
linux·运维·服务器
我要升天!10 小时前
Linux中《网络基础》
linux·运维·网络
ZStack开发者社区10 小时前
ZStack Cloud 5.5.0正式发布
运维·服务器·网络
鸽芷咕10 小时前
【2025年度总结】时光知味,三载同行:落笔皆是沉淀,前行自有光芒
linux·c++·人工智能·2025年度总结
羑悻的小杀马特10 小时前
指尖敲代码,笔尖写成长:2025年度总结与那些没说出口的碎碎念
linux·c++·博客之星·2025年度总结
源代码•宸12 小时前
Golang语法进阶(并发概述、Goroutine、Channel)
服务器·开发语言·后端·算法·golang·channel·goroutine
晴天¥12 小时前
VMware+Oracle linux LVM/非LVM磁盘扩容
linux·运维·服务器
oMcLin12 小时前
如何在Oracle Linux 8.4上搭建并优化Kafka集群,确保高吞吐量的实时数据流处理与消息传递?
linux·oracle·kafka