美文网首页
使用Nginx解决当前端需要切换后端时要重新yarn sever

使用Nginx解决当前端需要切换后端时要重新yarn sever

作者: NemoExpress | 来源:发表于2022-03-18 19:57 被阅读0次

    问题

    vue-cli4.5项目在开发调试程中,有多个测试后台服务需要来回切换,原来是通过中的配置项devServer当中的poxy来进行后台的切换,但是问题就这么产生了,每次切换后台后需要重新执行yarn serve,之前项目初期还好,现在项目越来越大,电脑的性能也跟不太上,导致 yarn serve的时间特别长,每次换后台就要等好久,一次偶然机会,在看nginx相关教程后,发现可以使用nginx的代理功能来进行后台的切换。

    前提

    • 后端环境已经搭建完成
    • 前端页面可通过yarn serve正常启动
    • 部署安装好nginx
    1. 修改vue.config.js相关配置,在配置项中可以看到,之前使用poxy切换后台时的多个后台地址,每次切换后都要重新启动一次服务
     devServer: {
        // development server port 8000
        port: 8000,
        proxy: {
          '/api': {
            changeOrigin: true, // 是否进行跨域
            secure: false,
            ws: false,
            // target: 'https://192.168.4.102:5001/', // 后台1
            // target: 'https://192.168.4.242:5001/', // 后台2
            // target: 'https://192.168.4.117:5001/', // 后台3
            // target: 'https://192.168.4.9:9072/', // 后台4
            target: 'http://192.168.4.117:8001/', // 本机 nginx,  通过该项配置将调用api的接口代理到本机的8001端口,然后再通过nginx再次将8001端口代理到真正的后台接口地址
            pathRewrite: {
              '^/api': '/api'
            }
          }
        }
      },
    
    1. 启动项目 截图中可以看到,启动一次项目耗费了将近164s!!,所以当需要频繁切换后台的时候就让人头皮发麻。


      启动前端服务
    2. 配置nginx相关,修改nginx.conf
    worker_processes  1;
    
    events {
        worker_connections  1024;
    }
    
    http {
        include       mime.types;
        default_type  application/octet-stream;
        sendfile        on;
        keepalive_timeout  65;
        server {
            listen       8001; #监听端口
            server_name  192.168.4.117; #本机ip地址
            proxy_set_header Cookie $http_cookie;
            proxy_set_header X-Forwarded-Host $host;
            proxy_set_header X-Forwarded-Server $host;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            location / { 
               proxy_pass https://192.168.4.35:9072/;#后台地址1
               #proxy_pass https://192.168.4.9:9072/;#后台地址2
               #proxy_pass https://192.168.4.16:9072/;#后台地址3
            }
            error_page   500 502 503 504  /50x.html;
            location = /50x.html {
                root   html;
            }
        }
    }
    
    
    1. 当需要更换后台的时候,只需要修改nginx配置项中对应的代理后台地址,保存后,重新启动nginx服务(nginx -s reload)即可。

    相关文章

      网友评论

          本文标题:使用Nginx解决当前端需要切换后端时要重新yarn sever

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