ansible - playbook 소스 코드 대량 배치 nginx

1980 단어
간단 한 소개
집에 있 는 서버 에 가상 컴퓨터 두 대 를 새로 켜 서 nginx 부하 균형 실험 을 하려 고 했 지만 각종 서 비 스 를 다시 설치 하 는 것 은 번 거 로 웠 습 니 다. 마침 최근 에 ansible - playbook 을 배 웠 기 때문에 원 키 배치 스 크 립 트 를 써 보 려 고 했 습 니 다.
코드
구체 적 인 설치 방식 은 내 가 앞의 몇 편의 블 로그 에서 이미 말 을 다 하지 않 고 코드 를 올 렸 다.
vi installnginx.yml
- hosts: test2
  remote_user: root
  tasks:    #          ,           ,         
  - name: mkdir nginx
    file: path=/home/nginx state=directory
  - name: copynginx package
    copy: src=./nginx-1.12.0.tar.gz  dest=/home/nginx-1.12.0.tar.gz  ##  nginx   
    tags: cppkg
  - name: tar-nginx
    shell: cd /home;tar -zxf nginx-1.12.0.tar.gz  ##  nginx 
  - name: installpakger
    yum: name={{ item }} state=latest    ##     
    with_items:
      - openssl-devel
      - pcre-devel
      - zlib-devel
      - gcc
      - gcc-c++
  - name: installnginx
    shell: cd /home/nginx-1.12.0;./configure --prefix=/home/nginx --user=nginx --group=nginx --with-http_ssl_module --with-http_stub_status_module --with-http_gzip_static_module --with-http_realip_module  --with-pcre;make&& make install      ####    
  - name: copyshell
    copy: src=./create_users.sh dest=/home/create_users.sh  ##       shell  
  - name: createuser nginx
    shell: /bin/bash /home/create_users.sh
    tags: addnginx
    notify: start nginx servic
    handler:
  - name: start nginx service
    shell: /home/nginx/sbin/nginx


      
vi create_users.sh
#!/bin/bash
ab=sudo cat /etc/passwd |grep nginx |wc -c
        nginx  
if [ $ab==0 ]; then
        sudo groupadd nginx
        sudo useradd -g nginx -s /sbin/nologin nginx
fi

호스트 목록 만 들 기
➜  vi hosts
[test2]
192.168.30.105  ansible_ssh_user=root
192.168.30.107  ansible_ssh_user=root

➜  ansible ansible -i ./hosts test2 --list
  hosts (2):
    192.168.30.105
    192.168.30.107

#    nginx    
   ➜ wget http://mirrors.sohu.com/nginx/nginx-1.12.0.tar.gz
#  
ansible-playbook -i ./hosts 2.yml

조금 만 기 다 려 주세요.

좋은 웹페이지 즐겨찾기