我有几十个网站在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一次以便在所有相应的网站上生效时,它会更容易。
答案 0 :(得分:0)
默认情况下,Nginx不支持listen指令的变量。
但另一种动态配置Nginx的方法是使用ansible
您可以在此检查角色:https://galaxy.ansible.com/nginxinc/
在这里,您可以阅读有关ansible的更多信息:https://www.ansible.com/