如何使用ansible修改nginx配置?

如何使用ansible修改nginx配置?

我想将带有 SSL 证书和 URL 重定向的网站添加到我正在运行的nginx-server.我想为每个网站添加一个配置,nginx/conf.d/newsite.conf然后重新启动nginx,但我想也许有一个更漂亮的方法ansible

我想我需要这个:

server {
        listen 80;
        listen 443 ssl;
        server_name www.newsite.com newsite.com;
        ssl_certificate     /etc/nginx/ssl/newsite.com_ssl_certificate.cer;
        ssl_certificate_key /etc/nginx/ssl/newsite.com_private_key.key;
        return 301 $scheme://www.newdomain.com$request_uri;
}

我想从远程计算机创建该conf,并使用ansible上传密钥和证书。

答案1

你可以走简单的路:

  • 使用复制,创建一个数组变量并循环配置,

     files:
     - name: my_cool_config.conf
       path: /etc/nginx/conf.d/
       content: |
         Hey Content here!
    
  • 或者你可以使用 Jinja 的模板来进行文件模板化(但我认为这有点矫枉过正)

如果您需要nginx在文件提供后重新加载,请添加通知和处理程序以重新启动/重新加载服务。

相关内容