王艳玲 发表于 2018-7-30 09:11:12

Ansible自动部署LNAMP

复制nginx配置文件到template目录中以.j2结尾  
# cp /etc/nginx/nginx.conf /etc/ansible/roles/nginx/templates/nginx.conf.j2
  

  
# vim nginx.conf.j2
  
http {
  
...
  
    upstream {{ ip_addr }} {#此处变量为hosts中定义的nginx的IP地址
  
      server {{ web_server1 }}:8080 weight=2 max_fails=3 fail_timeout=5; # web_server后端服务器
  
      server {{ web_server2 }}:8080 weight=1 max_fails=3 fail_timeout=5;# 注意,使用非默认端口一定要指定端口
  
      #此处upstream 定义的主机组的名字不是字符串,是因为字符串的命令会导致discuz时无法加载图片
  
      #若你发现用反向代理访问论坛无法显示图片时,那很可能就和此处的设定有关
  
}
  

  
    server {
  
      listen       80 default_server;
  
      listen       [::]:80 default_server;
  
      server_name_;
  
      root         /usr/share/nginx/html;
  

  
      # Load configuration files for the default server block.
  
      include /etc/nginx/default.d/*.conf;
  

  
      location / {
  
                proxy_pass http://{{ ip_addr }};
  
                proxy_pass_header User-Agent;
  
                proxy_set_header Host $Host;
  
                # 需要注意的是:以上关于header的两项配置是使用discuz所必须的,否则会出现验证码无法显示等安全问题
  
      }
  

  
      error_page 404 /404.html;
  
            location = /40x.html {
  
      }
  

  
      error_page 500 502 503 504 /50x.html;
  
            location = /50x.html {
  
      }
  
    }
  
}
页: [1]
查看完整版本: Ansible自动部署LNAMP