1.环境
cat /etc/hosts 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 10.0.0.50 ansible-master 10.0.0.51 ansible-node1 10.0.0.52 ansible-node2 10.0.0.53 ansible-node3 ssh-keygen -t rsa -P "" ssh-copy-id -i ~/.ssh/id_rsa.pub root@ansible-node1 ssh-copy-id -i ~/.ssh/id_rsa.pub root@ansible-node2 ssh-copy-id -i ~/.ssh/id_rsa.pub root@ansible-node3 cat /etc/ansible/hosts [lb] ansible-node1 [tcsrvs] ansible-node2 ansible-node3 # 创建角色目录 mkdir -pv /etc/ansible/roles/{nginx,tomcat}/{files,templetes,tasks,vars,handlers,meta,default} # 配置文件 cat /etc/ansible/roles/nginx/tasks/main.yml - name: install nginx yum: name=nginx state=latest when: ansible_os_family == "RedHat" - name: install conf copy: src=lb.conf dest=/etc/nginx/conf.d/ tags: conf notify: restart nginx - name: start nginx service: name=nginx state=started enabled=true cat /etc/ansible/roles/nginx/handlers/main.yml - name: restart nginx service: name=nginx state=restarted cat /etc/ansible/roles/nginx/files/lb.conf upstream tcsrvs { server ansible-node2:8080; server ansible-node3:8080; } server { listen 80; server_name www.ilinux.net; location / { proxy_pass http://tcsrvs; } } cat /etc/ansible/playbooks/nginx-tomcat.yml - hosts: lb remote_user: root roles: - nginx - hosts: tcsrvs remote_user: root roles: - {role: jdk,version: 1.8.0} - tomcat ansible-playbook -C nginx.yaml
2.ansible以roles的方式安装tomcat
cat /etc/ansible/roles/tomcat/tasks/main.yml - name: install package yum: name={{ item }} state=latest with_item: - tomcat - tomcat-admin-webapps - tomcat-webapps - tomcat-docs-webapp when: ansible_os_family == "RedHat" - name: start tomcat service: name=tomcat state=started enabled=true # 安装jdk mkdir -pv /etc/ansible/roles/jdk/{files,templetes,tasks,vars,handlers,meta,default} # 系统安装的openjdk不用手动提供java家目录 cat /etc/ansible/roles/jdk/tasks/main.yml - name: install openjdk yum: name=java-{{ version }}-openjdk-devel state=latest - name: create env file copy: src=java.sh dest=/etc/profile.d/ cat files/java.sh export JAVA_HOME=/usr