日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

Ansible之使用角色一键部署httpd并检查部署结果

發(fā)布時(shí)間:2025/4/16 编程问答 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Ansible之使用角色一键部署httpd并检查部署结果 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

規(guī)劃

角色:webser
任務(wù): 111為ansible主節(jié)點(diǎn),112,113為被控節(jié)點(diǎn)。在ansible主節(jié)點(diǎn)遠(yuǎn)程一鍵安裝部署httpd,要求運(yùn)行端口為99,根目錄為/var/www,域名為其節(jié)點(diǎn)的IP地址,運(yùn)行者身份是apache,部署測(cè)試頁(yè)面(index.html),并檢查是否部署成功要求有返回信息。

一、安裝ansible并配置各節(jié)點(diǎn)互信

Ansible簡(jiǎn)單介紹及安裝部署詳解已講解,有詳細(xì)步驟這里不再演示。

二、創(chuàng)建并配置角色

  • 創(chuàng)建工作目錄
  • [root@ser1 ~]# mkdir /project/{roles,inventory} -pv [root@ser1 ~]# mkdir /project/roles/webser/{tasks,files,templates,vars} -pv[root@ser1 /]# tree /project/ /project/ ├── inventory └── roles└── webser├── files├── tasks├── templates└── vars7 directories, 0 files
  • 準(zhǔn)備模板文件,即apache的配置文件
  • [root@ser1 ~]# cp /etc/httpd/conf/httpd.conf /project/roles/templates/httpd.conf.j2 # 修改配置文件的內(nèi)容 [root@ser1 ~]# vim /project/roles/webser/templates/httpd.conf.j2 Listen {{ port }} User {{ user }} Group {{ user }} ServerName {{ ansible_eth0.ipv4.address }}[root@ser1 ~]# grep "^[a-zA-Z]" /project/roles/webser/templates/httpd.conf.j2 ServerRoot "/etc/httpd" Listen {{ port }} Include conf.modules.d/*.conf User {{ user }} Group {{ user }} ServerAdmin root@localhost ServerName {{ ansible_eth0.ipv4.address }} DocumentRoot "{{ root }}" ErrorLog "logs/error_log" LogLevel warn AddDefaultCharset UTF-8 EnableSendfile on IncludeOptional conf.d/*.conf
  • 創(chuàng)建web頁(yè)面測(cè)試文件
  • [root@ser1 ~]# echo "<h1> test page</h1>">/project/roles/webser/files/index.html
  • 編寫(xiě)用于做健康檢查的腳本
  • [root@ser1 ~]# cd /project/roles/webser/files/ [root@ser1 files]# vim check.sh #!/bin/bash URL=$1 PORT=$2curl -I http://$1:$2/index.html |grep "200 OK" &>/dev/nullif [ $? -eq 0 ];thenecho "$1 status is ok" elseecho "$1 status is error" fi
  • 創(chuàng)建job
  • [root@ser1 files]# cd /project/roles/webser/tasks/ [root@ser1 tasks]# vim main.yaml --- - name: install httpsyum: name=httpd state=present - name: make configrantion filetemplate: src=httpd.conf.j2 dest=/etc/httpd/conf/httpd.conf - name: start httpdservice: name=httpd state=restarted - name: install test pagecopy: src=index.html dest={{ root }} - name: make health checkshell: sh roles/webser/files/check.sh {{ ansible_eth0.ipv4.address }} {{ port }}delegate_to: localhostregister: health_status - debug: msg="{{ health_status }}"
  • 創(chuàng)建主機(jī)清單列表
  • [root@ser1 tasks]# cd /project/inventory/ [root@ser1 inventory]# vim webser [webser] 10.220.5.112 10.220.5.113
  • 創(chuàng)建入口文件
  • [root@ser1 inventory]# cd /project/ [root@ser1 project]# vim webser.yaml <<<該文件需要和roles目錄同級(jí) --- - host: allremote_user: rootroles:- webser

    三、運(yùn)行palybook

    [root@ser1 files]# cd /project/ [root@ser1 project]# ansible-playbook -i ./inventory/webser ./webser.yaml -e port=99 -e user=apache -e root=/var/www

    運(yùn)行結(jié)果是成功的,并且到112,113節(jié)點(diǎn)查看也看到httpd安裝部署成功,從瀏覽器訪問(wèn)后端節(jié)點(diǎn)也是能夠訪問(wèn)到測(cè)試頁(yè)面的,至此通過(guò)ansible使用角色一鍵部署靜態(tài)網(wǎng)站就大功告成了。

    ------做運(yùn)維之前很矯情的小年輕-----

    總結(jié)

    以上是生活随笔為你收集整理的Ansible之使用角色一键部署httpd并检查部署结果的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

    如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。