nginx(反向代理服务器)主要功能
  1. 请求转发

    nginx得到客户端请求,然后根据路径匹配转发到具体服务器中
    例如请求地址包含eduservice,则转发到8001端口
    客户端(浏览器)→→→请求→→→ nginx(端口号9001)→→→转发→→→ 服务器 eduservice(端口号8001)
                                                                eduoss(端口号8002)
                                                                ...
    
  2. 负载均衡

    nginx得到客户端端请求,然后把请求平均分担到不同的服务中
    客户端(浏览器)→→→请求→→→ nginx(端口号9001)→→→负载均衡→→→ 集群 edu(端口号8081)
                                                                  edu(端口号8082)
                                                                  ...
    
  3. 动静分离

    把java代码和页面、图片等分开进行部署
    例如在tomcat放java代码部分,然后专门找一个服务器放静态资源(html、图片等)
    在操作中,当判断访问资源是java代码时,就去请求tomcat,当判断访问内容是html、图片...时,就去访问静态服务器                                                            ...
    
配置nginx,实现请求转发的功能
  1. 找到nginx配置文件

    E:\develop\web\nginx-1.20.2\conf\nginx.conf
    
  2. 在nginx.conf中进行配置

    (1)最好将nginx默认的80端口修改为81

    (2)配置nginx转发规则

        ~ 表示正则匹配
        listen 监听端口
        server_name 主机名称
        location 匹配路径
        proxy_pass 要转发到的服务器的地址
    

    (3)具体配置

        http {
            server {
                listen       81;
                ......
            },
            ......
            server {
                listen       9001;
                server_name  localhost;
    
                location ~ /eduservice/ {
                    proxy_pass   http://localhost:8001;
                }
    
                location ~ /eduoss/ {
                    proxy_pass   http://localhost:8002;
                }
    
            }
        }
    
  3. 修改config/dev.env.js中的BASE_API

    BASE_API: '"http://localhost:9001"', // 修改前端请求地址为nginx地址
    
  4. 重启nginx

    使用cmd启动nginx,如果关闭cmd窗口,nginx不会停止
    停止:nginx.exe -s -stop
    启动:nginx.exe
    
Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐