根据不同环境读取不同的Nginx
需求:
后端给的接口是服务器间调用的ip地址加端口,前端无法直接调用,所以需要在Nignx那做一层代理,由于接口服务地址测试和生产环境不一样,所以配置的nginx代理也不同,因此要实现不同环境读取不同的nginx文件
场景1 nginx配置在服务上,直接不同环境服务器配置相应的nginx文件即可
场景2:nginx未配置在服务上,而是在代码里,dockerfile直接copy代码里的文件放到服务器上。
- 通过分支区分,例如dev分支对应测试环境,那dev分支的nginx就配置测试环境的nginx,master对应生产环境,那master分支的nginx就配置对应生产环境的nginx。但如果有人不注意将dev分支用master分支覆盖了,就会出现测试环境用的是生产环境的nginx配置,比较危险
- 推荐:通过nginx文件的server_name区分,如下环境走test.conf。server_name 对应测试环境的域名"test.com" ,生产环境可以走默认的default.conf
- 例如:test.conf:
server {
listen 80;
server_name test.com;
}
- 例如:default.conf,找不到对应的域名的nginx就会default.conf 注意其server_name:0.0.0.0
server {
listen 80;
server_name 0.0.0.0;
}
完!