使用Ansible的Playbook修改nginx配置文件

时间:18-11-06 来源: 作者: 点击:

原创

使用Ansible的Playbook修改nginx配置文件

目录结构:

使用Ansible的Playbook修改nginx配置文件

文件内容

tasks 目录下的“file.yml”文件,内容如下:

使用Ansible的Playbook修改nginx配置文件

tasks目录下的“main.yml”

使用Ansible的Playbook修改nginx配置文件

templates目录下的“nginx.conf.j2”

{% if nginx_use_proxy %} {% for proxy in nginx_proxies %} upstream {{ proxy.name }} { server {{ ansible_eth0.ipv4.address }}:{{ proxy.port }} } {% endfor %} {% endif %} server { listen 80; server_name {{ nginx_server_name }}; access_log off; error_log /dev/null crit; rewrite ^ https://$server_name$request_uri? permanent; } server { listen 443 ssl; server_name {{ nginx_server_name }}; ssl_certificate /etc/nginx/ssl/{{ nginx_ssl_cert_name }}; ssl_certificate_key /etc/nginx/ssl/{{ nginx_ssl_cert_key }}; root {{ nginx_web_root }}; index index.html index.html; {% if nginx_use_auth %} auth_basic "Restricted"; auth_basic_user_file /etc/nginx/{{ project_name }}.htpasswd; {% endif %} {% if nginx_use_proxy %} {% for proxy in nginx_proxies %} location {{ proxy.location }} { proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-Proto http; proxy_set_header X-Url-Scheme $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header Host $http_host; proxy_set_header X-NginX-Proxy true; proxy_redirect off; proxy_pass {{ proxy.name }}; } {% endfor %} {% endif %} {% if nginx_server_static %} location / { try_file $uri $uri/ =404 {% endif %} }

var目录下的“main.yml”

--- nginx_server_name: nginx_web_root: /opt/test/ nginx_proxies: - name: suspicious location: / port: 2368 - name: suspocoous-api location: /api port: 3000

执行入口文件“nginxconf.yml”

- name: Nginx Proxy Server's Conf Dynamic Create hosts: your IP vars: nginx_use_proxy: true nginx_ssl_cert_name: test.crt nginx_ssl_cert_key: test.key nginx_use_auth: true project_name: suspicious nginx_server_static: true gather_facts: true //收集主机配置信息 roles: - { role: nginxconf } - name: Nginx WebServer's Conf Dynamic Create hosts: your IP vars: nginx_use_proxy: false nginx_ssl_cert_name: test.crt nginx_ssl_cert_key: test.key nginx_use_auth: false project_name: suspicious nginx_server_static: false gather_facts: no roles: - { role: nginxconf }

著作权归作者所有:来自51CTO博客作者幻灵的原创作品,如需转载,请注明出处,否则将追究法律责任

andible playbook

0

分享

收藏

上一篇:elasticsearch5.x...

幻灵 8篇文章,1W+人气,0粉丝

声明:本文由(Nginx运维与架构)版权所有,禁止转载,文章链接:http://www.nd9p.com/12664.html