ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

ansible-role安装nginx,keepalived,tomcat

2020-03-29 13:00:44  阅读:199  来源: 互联网

标签:name tomcat keepalived devel nginx main yml


架构

 

roles目录结构

[root@localhost roles]# tree
.
├── keepalived
│   ├── files
│   ├── handlers
│   │   └── main.yml
│   ├── tasks
│   │   └── main.yml
│   ├── templates
│   │   ├── backup_keepalived.conf.j2  #主keepalived配置文件
│   │   └── master_keepalived.conf.j2  #从keepalived配置文件
│   └── vars
│       └── main.yml
├── nginx
│   ├── default
│   │   └── main.yml
│   ├── files
│   │   ├── nginx-1.16.0.tar.gz    #nginx源码包
│   │   └── nginx.service            #systemctl接管nginx服务文件
│   ├── handlers
│   │   └── main.yml
│   ├── meta
│   │   └── main.yml
│   ├── tasks
│   │   └── main.yml
│   ├── templates
│   │   └── nginx.conf.ji2           #nginx配置文件
│   └── vars
│       └── main.yml
├── site.yml
└── tomcat
    ├── default
    │   └── main.yml
    ├── files
    │   ├── apache-tomcat-8.5.37.tar.gz   #tomcat二进制包
    │   └── jdk-8u144-linux-x64.gz          #jdk二进制包
    ├── handlers
    │   └── main.yml
    ├── meta
    │   └── main.yml
    ├── tasks
    │   └── main.yml
    ├── templates
    │   ├── java.sh.j2                    #初始java环境变量文件
    │   ├── setclasspath.sh.j2        #tomcat设置java环境变量脚本
    │   └── tomcat.service.j2         #systemctl接管tomcat服务文件
    └── vars
        └── main.yml

  

nginx roles

  • tasks/main.yml
#安装gcc环境
- name: install gcc env
  yum: name={{ item }} state=present 
  with_items:
  - gcc
  - patch
  - libffi-devel
  - python-devel
  - zlib-devel
  - bzip2-devel
  - openssl-devel 
  - ncurses-devel
  - sqlite-devel
  - readline-devel
  - tk-devel
  - gdbm-devel
  - libpcap-devel
  - xz-devel
  - openssl
  - openssl-devel

#拷贝nginx源码包到目标机器
- name: unarchive nginx.tar.gz
  unarchive: src=nginx-1.16.0.tar.gz dest=/tmp/
  tags:
  - jieya

#编译nginx
- name: bianyi nginx
  shell: cd /tmp/nginx-1.16.0 && ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_stub_status_module && make && make install
  tags:
  - bianyi

#复制systemctl接管nginx的服务文件
- name: copy nginx.service
  copy: src=nginx.service dest=/usr/lib/systemd/system/nginx.service

#重载systemd
- name: systemctl daemon-reload  
  shell: /usr/bin/systemctl daemon-reload

#复制nginx配置文件
- name: copy nginx.conf
  template: src=nginx.conf.ji2 dest=/usr/local/nginx/conf/nginx.conf
  notify: 
  - reload-nginx
  tags:
  - reload nginx

#启动nginx
- name: start nginx
  service: name=nginx state=started enabled=true  
  • handlers/main.yml
- name: reload-nginx
  shell: name=nginx state=reloaded
  • templates/main.yml:这个配置文件需要更具自己业务对应更改,不要复制下面的配置文件,主要是为了替换里面的内容
worker_processes  {{ ansible_processor_vcpus }};
events {
    worker_connections  1024;
}
http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;
    upstream tomcat {
        server {{ TOMCAT_SERVER1 }};
        server {{ TOMCAT_SERVER2 }};
    }
    server {
        listen       80;
        server_name  localhost;
        location / {
            proxy_pass http://tomcat;
        }
        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}
  • vars/main.xml
TOMCAT_SERVER1: 192.168.2.5:8080
TOMCAT_SERVER2: 192.168.2.6:8080

  

 

标签:name,tomcat,keepalived,devel,nginx,main,yml
来源: https://www.cnblogs.com/forlive/p/12591761.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有