ansible如何批量更新nginx
时间: 2023-10-22 20:21:54 浏览: 73
可以通过 Ansible 的 `yum` 模块和 `template` 模块批量更新 nginx,具体步骤如下:
1. 在控制节点上创建一个 nginx 的配置文件模板,例如 `/path/to/nginx.conf.j2`:
```
worker_processes 1;
events {
worker_connections 1024;
}
http {
server {
listen {{ nginx_port }};
server_name {{ nginx_server_name }};
location / {
root {{ nginx_root }};
index index.html index.htm;
}
}
}
```
2. 在控制节点上创建一个 Ansible playbook,例如 `/path/to/update_nginx.yml`:
```
- hosts: nginx_servers
vars:
nginx_port: 80
nginx_server_name: example.com
nginx_root: /var/www/html
tasks:
- name: Install nginx
yum:
name: nginx
state: latest
become: true
- name: Deploy nginx config
template:
src: /path/to/nginx.conf.j2
dest: /etc/nginx/nginx.conf
become: true
notify:
- Reload nginx
handlers:
- name: Reload nginx
service:
name: nginx
state: reloaded
become: true
```
3. 在控制节点上执行 Ansible playbook:
```
ansible-playbook -i <inventory_file> /path/to/update_nginx.yml
```
其中 `<inventory_file>` 是指包含 nginx 服务器列表的 inventory 文件路径。执行后,Ansible 会批量更新 nginx 配置文件,然后重启 nginx 服务。
阅读全文