nginx 动静分离部署node.js项目

  1. 使用vue开发完了移动端项目,现在要使用nginx部署

服务端多级域名,在nginx通过if+正则配备到对应的服务端

client, 也指定一个域名,如:www.xxx.com

client端有pad和手机端

if ($host = "www.xxx.com") {
   if ($url = '/mobile') {
      root /var/www/mobile/dist;
      index index.html;
    } 

    if ($url = '/ipad') {
       root /var/www/pad/dist;
       index index.html;
    }
}

nginx 提示不能这样配置,有经验的老手,给点指点,怎么处理这种场景的配置

阅读 4.2k
1 个回答
if ($host = "www.xxx.com")

完全没必要判断$host,这个应该在server_name匹配

      index index.html;

index指令不能放到if里面,应该在server或者location块就配置好全局的index

   if ($url = '/mobile') {
      root /var/www/mobile/dist;
    }
    if ($url = '/ipad') {
       root /var/www/pad/dist;
    }

root可以放在location里的if
但你这里完全没必要用if,使用locationalias即可

    location /mobile/ {
       alias /var/www/mobile/dist/;
    }
    location /ipad/ {
       alias /var/www/pad/dist/;
    }

似乎每一条配置指令都用错了……

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题