将nginx listen ip设置为变量

时间:2017-11-29 07:06:01

标签: nginx

我有几十个网站在nginx上监听多个ip地址。 例如,

server {listen 172.16.33.1:80; server_name a.com}
..
server {listen 172.16.33.1:80; server_name f.com}
server {listen 172.16.33.2:80; server_name d.com}
..
server {listen 172.16.33.2:80; server_name r.com}
server {listen 172.16.33.1:443; server_name aa.com}
server {listen 172.16.33.2:443; server_name bb.com}
server {listen 172.16.33.3:443; server_name cc.com}

有没有办法将listen ips设置为变量?喜欢 " $ IP1 = 172.16.33.1; $ IP2 = 172.16.33.2;"然后将conf更改为

server {listen $ip1:443; server_name aa.com}
server {listen $ip2:443; server_name bb.com}

我知道每个文本编辑器中的搜索和替换,但是当你更改listen ip一次以便在所有相应的网站上生效时,它会更容易。

1 个答案:

答案 0 :(得分:0)

默认情况下,Nginx不支持listen指令的变量。

但另一种动态配置Nginx的方法是使用ansible

您可以在此检查角色:https://galaxy.ansible.com/nginxinc/

在这里,您可以阅读有关ansible的更多信息:https://www.ansible.com/