Nginx同一个server部署多个静态资源目录

今天配置nginx的时候需要将两个静态文件放到一个域名下,配置了好久,最后发现是就是root和alias 的区别。

成功案例:

访问www.test.com/  会进入 /home/icbc/html

访问www.test.com/game/luck 会进入 /home/icbc/gameluck/html

 server{
        listen 80;
        #对应域名
        server_name www.test.com;
        ssl_certificate 7766945_asian.cardwinner.com.pem;
        ssl_certificate_key 7766945_asian.cardwinner.com.key;
        ssl_session_timeout 5m;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
        ssl_prefer_server_ciphers on;
      

        location / {
                root  /home/icbc/html;
                index index.html;
        }
        
        location /game/luck {
            alias /home/icbc/gameluck/html;
            index index.html;      
        }
        location ^~/api{
 		proxy_pass http://127.0.0.1:8088/;
        }
        location ^~/ws/{
 		 proxy_pass https://apis.map.qq.com/ws/;
        }

        location ^~/icbc{
 		proxy_pass http://127.0.0.1:8099/;
        }
    }

Nginx中alias与root的区别:

Nginx指定文件路径有两种方式root和alias,这两者的用法区别在于对URI的处理方法不同。

举例: 

alias :

location /abc/{

alias /usr/local/nginx/html/admin/;

}

若按照上述配置的话,则访问/abc/目录里面的文件时,ningx会自动去/usr/local/nginx/html/admin目录找文件。

root:

location /abc/ {

root /usr/local/nginx/html/admin;

}

若按照这种配置的话,则访问/abc/目录下的文件时,nginx会去/usr/local/nginx/html/admin/abc下找文件。

(1)、alias是一个目录别名的定义,root则是最上层目录的定义。

(2)、还有一个重要的区别是alias后面必须要用“/”结束,否则会找不到文件的。而root则可有可无。

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值