有没有什么办法可以减少如下施工:
server {
server_name regular_site;
location /api/ {
proxy_pass 127.0.0.1:5000;
}
location / {
proxy_pass 127.0.0.1:3000;
}
}
server {
server_name mobile_site;
location /api/ {
proxy_pass 127.0.0.1:5000;
}
location / {
proxy_pass 127.0.0.1:3001;
}
}
到
server api {
location /api/ {
proxy_pass 127.0.0.1:5000;
}
}
server extends api {
server_name regular_site;
location / {
proxy_pass 127.0.0.1:3000;
}
}
server extends api {
server_name mobile_site;
location / {
proxy_pass 127.0.0.1:3001;
}
}
欢迎提供任何其他有关摆脱 api 部分的建议。
答案1
您可以使用语句轻松完成此操作include
。
在/etc/nginx/conf/api_defaults.conf
:
location /api/ {
proxy_pass 127.0.0.1:5000;
}
然后在你的主vhost
配置中。
/etc/nginx/sites-enabled/my_new_api.conf
server my_new_api {
server_name mobile_site;
include "/etc/nginx/conf/api_defaults.conf";
location / {
proxy_pass 127.0.0.1:3001;
}
}