nginx多站点配置
前言:我们有时会遇到一个ng服务,需要配置多个站点的需求。如 http://pingan.com/site1 、http://pingan.com/site2 两个站点,通过不同目录区分站点。
如果不对ng做相应配置,那么会有一些问题:
- site1站点的 ./ 相对路径,是相对于域名根路径的,而不是相对于site1本站点,所有原程序的一些正常路径部署后会表现不一致。
- 对于react的history路由,除了配置umi的base路径为site1(以site1为根路径),还要配置public为site1(在js、css引入文件加前缀)外,不配ng,会使路由页面刷新时,无法以site1为根路径找到index.html页面,也会无法加载首页引入项,导致出错。
那么如何配置多站点的ng呢?
#nginx site1站点配置
location /site1 {
alias /wls/apache/apps/site1/;
try_files $uri /site1/index.html;
index index.html index.htm
}