天天看点

ansible-playbook 源码安装nginx.yml

---

- hosts: all

 become: yes

 become_user: root

 become_method: sudo

 become_flags: -i

 gather_facts: false

 tasks:

#  - name: download nginx

#    get_url: url="http://nginx.org/download/nginx-1.20.2.tar.gz" dest=/root

 - name: install yum repository

  copy:

    src: CentOS-7.repo

    dest: /etc/yum.repos.d/

 - name: install packages

  yum:

    name: "{{ packages }}"

  vars:

    packages:

    - gcc

    - gcc-c++

    - pcre

    - pcre-devel

    - zlib

    - zlib-devel

    - openssl

    - openssl-devel

 - name: create directories

  file: path=/export/{{item}} state=directory

  with_items:

    - ['packages','servers','logs']

 - name: create nginx directories

  file: path=/export/servers/nginx/conf/conf.d state=directory

 - name: chang owner /export/servers

  file: path=/export/servers/ owner=pe group=pe state=directory recurse=yes

 - name: copy nginx-1.20.2.tar.gz to packages directory

  copy: src=nginx-1.20.2.tar.gz dest=/export/packages

 - name: uncompress nginx-1.20.2.tar.gz

  shell: cd /export/packages && tar -xf nginx-1.20.2.tar.gz

 - name: configure nginx and make make install

  shell: cd /export/packages/nginx-1.20.2;./configure --prefix=/export/servers/nginx --sbin-path=/export/servers/nginx/sbin/nginx --conf-path=/export/servers/nginx/conf/nginx.conf --error-log-path=/export/logs/nginx/error.log --http-log-path=/export/logs/nginx/access.log --pid-path=/export/servers/nginx/nginx.pid --lock-path=/export/servers/nginx/nginx.lock --user=pe --group=pe --with-http_ssl_module  --with-http_stub_status_module --with-http_gzip_static_module --with-http_flv_module --with-http_mp4_module --with-pcre --with-stream && make && make install

 - name: install nginx.conf

  copy: src=nginx.conf dest=/export/servers/nginx/conf

 - name: modify owner /export/servers/nginx/sbin/nginx