root@jenkins:~/ansible/roles/nginx
.
├── nginx
│ ├── files
│ │ └── nginx-1.16.0.tar.gz
│ ├── handlers
│ │ └── main.yaml
│ ├── tasks
│ │ └── main.yaml
│ ├── templates
│ │ └── nginx.conf.bk
│ └── vars
└── nginx.yaml
root@jenkins:~/ansible/roles/nginx/handlers
- name: "启动nginx服务"
raw: /usr/local/nginx/sbin/nginx
root@jenkins:~/ansible/roles/nginx/tasks
main.yaml
root@jenkins:~/ansible/roles/nginx/tasks
- name: "安装依赖包"
apt: name={{ item }} state=latest
with_items:
- gcc
- libpcre3
- libpcre3-dev
- openssl
- libssl-dev
- zlib1g-dev
- name: "添加nginx用户"
shell: useradd nginx -M -s /sbin/nologin
- name: "拷贝nginx安装包到远程服务器"
copy: src=nginx-1.16.0.tar.gz dest=/usr/local/src
- name: "编译安装nginx"
shell: cd /usr/local/src ;tar zxf nginx-1.16.0.tar.gz ;cd /usr/local/src/nginx-1.16.0; ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-compat --with-file-aio --with-threads --with-http_addition_module --with-http_auth_request_module --with-http_dav_module --with-http_flv_module --with-http_gunzip_module --with-http_gzip_static_module --with-http_mp4_module --with-http_random_index_module --with-http_realip_module --with-http_secure_link_module --with-http_slice_module --with-http_ssl_module --with-http_stub_status_module --with-http_sub_module --with-http_v2_module --with-mail --with-mail_ssl_module --with-stream --with-stream_realip_module --with-stream_ssl_module --with-stream_ssl_preread_module && make && make install
notify: "启动nginx服务"
root@jenkins:~/ansible/roles/nginx/templates
user nginx;
worker_proccesses auto;
root@jenkins:~/ansible/roles
cat: nginx: Is a directory
root@jenkins:~/ansible/roles
- hosts: '{{ server }}'
gather_facts: True
remote_user: root
roles:
- nginx