ansible roles应用(安装nginx并转发后端2台tomcat应用)

代理服务器:安装nginx并转发后端2台tomcat应用
后端应用:安装jdk、tomcat、启动应用

node1:nginx
node2、node3:tomcat
node4:ansible

[root@node4 ~]# cat /etc/ansible/hosts
[lb]
node1.changecan.com

[tcsrvs]
node[2:3].changecan.com

[root@node4 ~]# ssh-keygen -t rsa -P ''
[root@node4 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node1.changecan.com
[root@node4 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node2.changecan.com
[root@node4 ~]# ssh-copy-id -i ~/.ssh/id_rsa.pub root@node3.changecan.com

[root@node4 ~]# ansible all --list-hosts
  hosts (3):
    node1.changecan.com
    node2.changecan.com
    node3.changecan.com
[root@node4 ~]# mkdir -pv /etc/ansible/roles/{nginx,jdk,tomcat}/{files,templates,tasks,handlers,vars,meta,default}

#安装nginx、处理配置文件、启动nginx服务
[root@node4 ~]# cat /etc/ansible/roles/nginx/tasks/main.yaml
- 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=yes
  
[root@node4 ~]# cat /etc/ansible/roles/nginx/handlers/main.yaml
- name: restart nginx
  service: name=nginx state=restarted
  
[root@node4 ~]# cat /etc/ansible/roles/nginx/files/lb.conf
upstream tcsrvs {
    server node2.changecan.com:8080;
    server node3.changecan.com:8080;
}
server {
    listen 80;
    server_name www.changecan.io;
    location / {
        proxy_pass http://tcsrvs;
    }
}

#安装jdk
[root@node4 ~]# cat /etc/ansible/roles/jdk/tasks/main.yaml
- name: install openjdk
  yum: name=java-{{ version }}-openjdk-devel state=latest
- name: install env file
  copy: src=java.sh dest=/etc/profile.d/
[root@node4 ~]# cat /etc/ansible/roles/jdk/files/java.sh
export JAVA_HOME=/usr

#安装tomcat、启动tomcat服务
[root@node4 ~]# cat /etc/ansible/roles/tomcat/tasks/main.yaml
- name: install package
  yum: name= {{ item }} state=latest
  with_items:
  - tomcat
  - tomcat-admin-webapps
  - tomcat-webapps
  - tomcat-docs-webapp
  when: ansible_os_family == "RedHat"
- name: start tomcat
  service: name=tomcat state=started enabled=yes
  
[root@node4 ~]# cat playbooks/nt.yaml
- hosts: lb
  remote_user: root
  roles:
  - nginx
  
- hosts: tcsrvs
  remote_user: root
  roles:
  - { role: jdk, version: 1.8.0 }
  - tomcat

[root@node4 ~]# cd playbooks
[root@node4 playbooks]# ansible-playbook -C nt.yaml
[root@node4 playbooks]# ansible-playbook nt.yaml

#在浏览器测试可直接访问www.changecan.io,出现tomcat默认页面

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值