ansible 플레이 북 대량 배치 nginx

3588 단어 linux
ansible 플레이 북 대량 배치 nginx 소프트웨어
계획
소프트웨어 설치 패키지: nginx - 1.16.1. tar. gz 원본 파일 설치 저장 디 렉 터 리: / intall / nginx - 1.16.1. tar. gz nginx 설치 디 렉 터 리: / usr / local / nginx nginx 압축 해제 디 렉 터 리: / usr / local / src 압축 해제 후의 원본 파일 디 렉 터 리 는 / usr / local / src / nginx - 1.16.1 입 니 다.
배치 환경:
운영 체제
ip
호스트 이름
소프트웨어 설치 디 렉 터 리
Linux7.5
192.168.174.129
srvb
/usr/local/nginx
Linux7.5
192.168.174.130
srvc
/usr/local/nginx
Linux7.5
192.168.174.131
srvd
/usr/local/nginx
프로그램 배치 사고방식 설명:
1. ansible 관리 단 에 저 장 된 / intall / nginx - 1.16.1. tar. gz 를 통 해 피 관 단 / usr / local / src / nginx - 1.16.1 디 렉 터 리 2 를 복사 하고 압축 을 풀 며 피 관 단 / usr / local / src / nginx - 1.16.1 에 들 어가 nginx 소스 코드 설치 3, 설치 완료 후 시스템 명령 행 에 추가 합 니 다. 즉, 실행 가능 한 파일 링크 를 / usr / sbin 중 4 로 시작 하여 nginx 를 시작 합 니 다.
nginx. yaml 프로필
---
- hosts: srv
  vars: 
    - srcdir: nginx-1.16.1
    - insdir: /usr/local/nginx
  remote_user: root
  tasks: 
    - name: cp and untar
      unarchive: src=/install/nginx-1.16.1.tar.gz dest=/usr/local/src
    - name: compile and install nginx
      shell : cd /usr/local/src/{{ srcdir }}; ./configure --prefix={{ insdir }} --with-http_stub_status_module --with-http_gzip_static_module --with-http_ssl_module && make && make install
    - name: link the command
      file : src={{ insdir }}/sbin/nginx dest=/usr/sbin/nginx state=link
    - name: start nginx
      shell : nginx

설치 실행: ansible - playbook nginx. yaml
**    :**

[root@srva yaml]# ansible-playbook nginx.yaml 
 [WARNING]: Found both group and host with same name: srva

PLAY [srv] ************************************************************************************************************

TASK [Gathering Facts] ************************************************************************************************
ok: [srvc]
ok: [srvd]
ok: [srvb]

TASK [cp and untar] ***************************************************************************************************
changed: [srvb]
changed: [srvc]
changed: [srvd]

TASK [compile and install nginx] **************************************************************************************
changed: [srvd]
changed: [srvb]
changed: [srvc]

TASK [link the command] ***********************************************************************************************
changed: [srvc]
changed: [srvb]
changed: [srvd]

TASK [start nginx] ****************************************************************************************************
changed: [srvc]
changed: [srvb]
changed: [srvd]

PLAY RECAP ************************************************************************************************************
srvb                       : ok=5    changed=4    unreachable=0    failed=0   
srvc                       : ok=5    changed=4    unreachable=0    failed=0   
srvd                       : ok=5    changed=4    unreachable=0    failed=0   

[root@srva yaml]# 


보충 설명
설치 디 렉 터 리 일괄 생 성: ansible srv - m shell - a 'mkdir - p / usr / local / nginx' 주: 대량 종료 nginx 를 파일 모듈 로 처리 할 수도 있 습 니 다. ansible srv - m shell - a 'nginx - s stop' nginx 프로 세 스 보기: ansible srv - m shell - a 'ps - ef | grep nginx | grep - v grep'
오류 기록: Yml 파일 을 설정 할 때 셸 모듈 을 사용 하고 chdir 를 사용 하여 디 렉 터 리 를 변경 합 니 다.이것 은 정확 하지 않다.chdir 는 command 모듈 에 있 는 전환 디 렉 터 리 매개 변수 입 니 다.셸 모듈 에는 이것 이 없습니다.셸 과 raw 모듈 이 디 렉 터 리 를 전환 하려 면 - a 'cd / usr / local / nginx / sbin 을 사용 할 수 있 습 니 다.nginx - s start '모드 로 구현 합 니 다.

좋은 웹페이지 즐겨찾기