Ansible批量部署Nginx的示例代码

时间:2022-03-09 11:14:02

1.1 将nginx的安装包,和安装脚本copy到客户端,并安装脚本

?
1
2
3
4
5
6
7
8
vim /ansible/roles/nginx/tasks/nginx.yml
 
- name: copy nginx_tar_gz to client
 copy: src=nginx-1.8.0.tar.gz dest=/tmp/nginx-1.8.0.tar.gz
- name: copy install_shell to client
 copy: src=install_nginx.sh dest=/tmp/install_nginx.sh
- name: install nginx
 shell: /bin/bash /tmp/install_nginx.sh

1.2 Nginx 安装脚本

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
vim /ansible/roles/nginx/files/install_nginx.sh
 
#!/bin/bash
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
groupadd -r nginx
useradd -s /sbin/nologin -g nginx -r nginx
cd /tmp
tar xf nginx-1.8.0.tar.gz;cd nginx-1.8.0
mkdir /application/nginx/;chown nginx.nginx /application/nginx/
./configure \
--prefix=/usr \
--sbin-path=/usr/sbin/nginx \
--conf-path=/etc/nginx/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--pid-path=/application/nginx/nginx.pid \
--user=nginx \
--group=nginx \
--with-http_ssl_module
make && make install
egrep -v "#|^$" /etc/nginx/nginx.conf >/etc/nginx/nginx.conf.bak
rm -rf /etc/nginx/nginx.conf
mv /etc/nginx/nginx.conf.bak /etc/nginx/nginx.conf
sed -i "/^\s*index / i proxy_pass http://localhost:8080;" /etc/nginx/nginx.conf
/usr/sbin/nginx

1.3 执行ansible 命令

?
1
2
3
cd /ansible
ansible-playbook nginx.yml --syntax-check #检查语法
ansible-playbook nginx.yml #执行

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。

原文链接:https://www.jianshu.com/p/bf5cb5c7c50b