使用Ansible的playbook安装HTTP

发布于:2025-07-03 ⋅ 阅读:(16) ⋅ 点赞:(0)

实验环境

安装好ansible

一、准备测试服务(192.168.10.41)

1、安装HTTP服务

dnf -y install httpd

2、启动HTTP服务

systemctl start httpd

3、使用浏览器访问

192.168.10.41

因为开启了防火墙,所有无法访问

4、开放防火墙的80端口

firewall-cmd --add-port=80/tcp --permanent

firewall-cmd --reload

firewall-cmd --list-all

5、再次使用浏览器访问

192.168.10.41

6、编写网页

cd /var/www/html/

vim index.html

添加:

<html>

        <head>

                <title>hello world</title>

        </head>

        <body>

                <h1>hello abc</h1>

                <p>This page is used to test the proper operation of an HTTP server after it has been installed on a Rocky Linux system. If you can read this page, it means that the software is working correctly.</p>

                <img src="1.jpg">

        </body>

</html>

上传一张图片到/var/www/html目录并改名为1.jpg

7、使用浏览器访问

192.168.10.41

8、修改HTTP服务的默认网页路径

mkdir /mysite

cp /var/www/html/* /mysite/

vim /etc/httpd/conf/httpd.conf

修改:

10、重启HTTP访问并访问

systemctl restart httpd

二、编写安装HTTP服务的playbook(192.168.10.40)

1、创建目录

mkdir /myplaybook

cd /myplaybook/

2、从192.168.10.41上拉取配置文件

ansible -m fetch -a 'src=/etc/httpd/conf/httpd.conf dest=./' 192.168.10.41

mv 192.168.10.41/etc/httpd/conf/httpd.conf ./

3、压缩192.168.10.41的网页文件并拉取到ansible

ansible -m archive -a 'path=/mysite dest=/root/mysite.tar.gz' 192.168.10.41

ansible -m fetch -a 'src=/root/mysite.tar.gz dest=./' 192.168.10.41

mv 192.168.10.41/root/mysite.tar.gz ./

4、编写playbook

vim install-httpd.yml

添加:

- hosts: 192.168.10.42

  tasks:

    - name: install package

      dnf: name=httpd state=installed

    - name: modify configfile

      copy: src=httpd.conf dest=/etc/httpd/conf/httpd.conf backup=yes

    - name: create web directory

      file: path=/mysite state=directory

    - name: copy web site

      copy: src=mysite.tar.gz dest=/mysite

    - name: uncompress web package

      unarchive: src=/mysite/mysite.tar.gz dest=/ remote_src=yes

    - name: set firewalld

      firewalld: port=80/tcp state=enabled permanent=yes immediate=yes

    - name: start http service

      systemd: name=httpd state=started enabled=yes

5、测试运行playbook

ansible-playbook -C install-httpd.yml

因为测试不会创建目录,所以才会报错

列出 Ansible 剧本(playbook)install-httpd.yml 中将会影响的主机(hosts)清单

ansible-playbook --list-hosts install-httpd.yml

列出 Ansible playbook(install-httpd.yml)中定义的所有任务(tasks)

ansible-playbook --list-tasks install-httpd.yml

运行playbook

ansible-playbook install-httpd.yml

6、使用浏览器访问验证

192.168.10.42


网站公告

今日签到

点亮在社区的每一天
去签到