1.1 構建目錄結構
此操作是安裝nginx+mysql+tomcat+db的目錄結構,可以參考一下,不錯~
mkdir -p /ansible/roles/{nginx,mysql,tomcat,db}/{defaults,files,handlers,meta,tasks,templates,vars}
1.2 文件目錄結構
[root@qtbackup ~]# tree /ansible//ansible/├── playbook│ └── playbook.yml├── roles│ ├── db│ │ ├── defaults│ │ ├── files│ │ ├── handlers│ │ ├── meta│ │ ├── tasks│ │ ├── templates│ │ └── vars│ ├── mysql│ │ ├── defaults│ │ ├── files│ │ ├── handlers│ │ ├── meta│ │ ├── tasks│ │ ├── templates│ │ └── vars│ ├── nginx│ │ ├── defaults│ │ ├── files│ │ ├── handlers│ │ ├── meta│ │ ├── tasks│ │ ├── templates│ │ └── vars│ └── tomcat│ ├── defaults│ ├── files│ │ ├── apache-tomcat-8.0.29.tar.gz│ │ ├── jdk-8u73-linux-x64.gz│ │ ├── tomcat-initscript.sh│ │ └── tomcat-users.xml│ ├── handlers│ │ └── main.yml│ ├── meta│ ├── tasks│ │ └── main.yml│ ├── templates│ │ └── tomcat-users.xml│ └── vars├── ssh_key.sh ###自動分發sshkey腳本 (下邊會完整貼出來)├── web.retry└── web.yml ####總調用文件34 directories, 11 files[root@qtbackup ~]#
1.3 在ansible目錄創建一個總調用文件
- hosts: bgo ####這個是hosts定義個主機組名字,如果是單臺主機可以直接寫地址 remote_user: root ####執行用戶 roles: #####解釋配置文件目錄,因為我們這次裝的是tomcat所以注釋其他的 # - nginx # - mysql - tomcat # - db
1.4 創建tomcat安裝playbook文件
vim /ansible/roles/tomcat/tasks/main.yml#這個是用yum模塊安裝jdk,有需要的可以用#- name: install java# yum: name=java-1.8.0-openjdk.x86_64 state=present===============================================================#創建用戶- name: group group: name=tomcat- name: user user: name=tomcat group=tomcat home=/usr/tomcat sudo: True##############################這個源碼包安裝JDK##############################復制jdk到tmp目錄下- name: copy jdk-8u73-linux-x64.gz copy: src=jdk-8u73-linux-x64.gz dest=/tmp/jdk-8u73-linux-x64.gz#解壓jdk包到/application- name: Extract archive jdk command: /bin/tar xf /tmp/jdk-8u73-linux-x64.gz -C /application#改名- name: java shell: mv /application/jdk1.8.0_73 /application/java#添加環境變量- name: add /etc/profile lineinfile: dest=/etc/profile regexp="^JAVA_HOME=" line="JAVA_HOME=/application/java/"- name: add /etc/profile lineinfile: dest=/etc/profile regexp="^CLASS_PATH=" line="CLASS_PATH=$JAVA_HOME/lib:$JAVA_HOME/jre/lib"- name: add /etc/profile lineinfile: dest=/etc/profile regexp="^PATH=/$PATH:/$JAVA_HOME" line="PATH=$PATH:$JAVA_HOME/bin"- name: add /etc/profile lineinfile : dest=/etc/profile regexp="^export JAVA_HOME" line="export JAVA_HOME"##########################安裝tomcat###########################################- name: copy tomcat_tar_gz copy: src=apache-tomcat-8.0.29.tar.gz dest=/tmp/apache-tomcat-8.0.29.tar.gz#解壓tomcat到opt目錄- name: Extract archive command: /bin/tar xf /tmp/apache-tomcat-8.0.29.tar.gz -C /opt#創建軟連接- name: Symlink install directory file: src=/opt/apache-tomcat-8.0.29/ dest=/application/tomcat state=link#賦予目錄權限- name: Change ownership of Tomcat installation file: path=/application/tomcat/ owner=tomcat group=tomcat state=directory recurse=yes#推送配置文件- name: Configure Tomcat users template: src=tomcat-users.xml dest=/application/tomcat/conf/ notify: restart tomcat#安裝tomcat。init啟動腳本- name: Install Tomcat init script copy: src=tomcat-initscript.sh dest=/etc/init.d/tomcat mode=0755#開啟tomcat- name: Start Tomcat service: name=tomcat state=started enabled=yes
1.5 通過notify調用handlers
- name: restart tomcat service: name=tomcat state=restarted
1.6 語法檢測===執行安裝
cd /ansibleansible-playbook web.yml --syntax-check #檢查語法ansible-playbook web.yml #執行
以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VEVB武林網。
新聞熱點
疑難解答
圖片精選