加入收藏 | 设为首页 | 会员中心 | 我要投稿 安卓应用网 (https://www.0791zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > Nginx > 正文

Nginx – 多个服务器配置

发布时间:2020-05-22 22:22:36 所属栏目:Nginx 来源:互联网
导读:我有一个由8个独立Web服务器组成的集群,每个服务器都运行nginx.他们都托管相同的网站,并与rsync同步.此外,每个服务器都附加了8个不同的IP地址.根据一些业务逻辑,我的托管网站被定向到不同的IP.有没有什么方法可以在所有服务器之间同步配置文件,但是只更改每个

我有一个由8个独立Web服务器组成的集群,每个服务器都运行nginx.
他们都托管相同的网站,并与rsync同步.

此外,每个服务器都附加了8个不同的IP地址.

根据一些业务逻辑,我的托管网站被定向到不同的IP.

有没有什么方法可以在所有服务器之间同步配置文件,但是只更改每个服务器上的IP?

例如,在每台服务器上都有一个nginx.conf:

@IP1 = '1.1.1.1';
@IP2 = '2.2.2.2';

include 'sites.conf';

然后同步sites.conf并让它像:

server {
  listen @IP1:80;
  ... //more configurations here
}

有可能做那样的事吗? 最佳答案 正如其他人所说,nginx不支持这一点.

可能的可能是为每个单独的主机使用单独的配置文件,并让nginx启动脚本直接引用该配置文件.

方法1:多个配置文件

/etc/init.d/nginx会做类似的事情:

MyIP=`# some code to get my ip address or local ID`
nginx -c $PATH_TO_NGINX/${MyIP}.conf

通过这种方式,您可以将相同的文件同步到每个人,但每个服务器只会引用自己的配置文件.

方法2:在服务启动/重启时动态更新配置文件

MyIP=`# some code to get my ip address or local ID`
updateconfig($MyIP,$TEMPLATECONFIG,$LOCALCONFIG) # Some function which will take a template config distributed out and replace the IP-PLACEHOLDERS with the box's actual IP address
nginx -c $PATH_TO_NGINX/$LOCALCONFIG

通过这种方式,您只需管理一个配置文件模板,该模板在重新启动/重新加载时自我更新.

如果您还不需要Puppet / config管理的额外复杂性,这是一种低开销的方式,并且由于配置是动态的,仍然允许您向外扩展而不必担心盒子的IP地址.但是,如果您的架构发生变化,那么配置管理将非常有用.

(编辑:安卓应用网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读