用ansible-playbook 安装Nginx搭建httpf集群
时间: 2024-05-15 15:19:47 浏览: 172
以下是一个简单的 Ansible playbook,用于在多个服务器上安装 Nginx 并搭建 Httpf 集群:
```yaml
---
- name: Install Nginx and set up Httpf cluster
hosts: webservers
become: true
vars:
httpf_port: 8080
httpf_backend_servers:
- 192.168.1.1
- 192.168.1.2
- 192.168.1.3
tasks:
- name: Install Nginx
apt:
name: nginx
state: present
- name: Configure Httpf upstream
template:
src: templates/httpf_upstream.j2
dest: /etc/nginx/conf.d/httpf_upstream.conf
notify: Reload Nginx
- name: Configure Nginx to listen on port 80
template:
src: templates/nginx_http.j2
dest: /etc/nginx/sites-enabled/default
notify: Reload Nginx
handlers:
- name: Reload Nginx
service:
name: nginx
state: reloaded
```
在上面的 playbook 中,我们首先定义了一些变量:
- `httpf_port`:Httpf 服务器运行的端口号。
- `httpf_backend_servers`:Httpf 服务器的后端服务器 IP 地址列表。
然后我们定义了一些任务:
- `Install Nginx`:通过 Ansible 的 `apt` 模块安装 Nginx。
- `Configure Httpf upstream`:使用 Ansible 的 `template` 模块生成 Httpf upstream 配置文件。
- `Configure Nginx to listen on port 80`:使用 Ansible 的 `template` 模块生成 Nginx 配置文件。
- `Reload Nginx`:使用 Ansible 的 `service` 模块重新加载 Nginx 服务。
最后,我们定义了一个 handler,当任何一个任务修改了 Nginx 配置文件时,就会触发这个 handler,重新加载 Nginx 服务。
阅读全文