美文网首页
nginx vue前后端分离配置示例

nginx vue前后端分离配置示例

作者: aiChenK | 来源:发表于2022-03-02 14:28 被阅读0次

    vue + thinkphp

    vue为history路由模式,固定/api,/static前缀为php使用

    server {
      listen 80;
      server_name localhost;
    
      set $static_root '';    # web目录
      set $php_root '';    # php目录
      root $static_root;
    
      index index.html index.htm index.php;
    
      location ~ \.php$ {
          root $php_root;
          fastcgi_pass   127.0.0.1:9000;
          fastcgi_index  index.php;
          fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
          include        fastcgi_params;
          fastcgi_buffer_size 128k;
          fastcgi_buffers 32 32k;
          fastcgi_connect_timeout 300;
          fastcgi_send_timeout 300;
          fastcgi_read_timeout 300;
      }
    
      location / {
          try_files $uri $uri/ /index.html;
      }
      
      location ^~ /api/ {
          root $php_root;
          if (!-e $request_filename) {
              rewrite  ^(.*)$  /index.php?s=/$1  last;
              break;
          }
      }
    
      location ^~ /static/ {
          root $php_root;
          access_log off;
      }
    
      # 首页不缓存
      location = /index.html {
          add_header Cache-Control no-cache;
          add_header Pragma no-cache;
          add_header Expires 0;
      }
    
      location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
          expires       12h;
          log_not_found off;
          access_log    off;
      }
    }
    

    vue + 端口转发

    二级目录可使用此方法

    server {
      listen 80;
      server_name localhost;
      root '';
      index index.html index.htm;
    
      location ^~ /api/ {
        proxy_set_header HOST $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_pass http://localhost:8080;
        # proxy_pass http://localhost:8080/; #转发时想去除/api前缀可使用这条
      }
    
      location / {
          try_files $uri $uri/ /index.html;
      }
    
      # 首页不缓存
      location = /index.html {
          add_header Cache-Control no-cache;
          add_header Pragma no-cache;
          add_header Expires 0;
      }
    
      location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
          expires       12h;
          log_not_found off;
          access_log    off;
      }
    }
    

    相关文章

      网友评论

          本文标题:nginx vue前后端分离配置示例

          本文链接:https://www.haomeiwen.com/subject/irosrrtx.html