ruoyi nginx多项目配置

本文详细介绍了Nginx服务器的配置方法,包括多个监听端口的设置、静态资源的托管方式以及后端服务的代理配置等核心内容。通过具体实例展示了如何针对不同需求进行灵活配置。

worker_processes  1;

events {
    worker_connections  1024;
}

http {
    include       mime.types;
    default_type  application/octet-stream;
    sendfile        on;
    keepalive_timeout  65;

    server {
        listen       8085;
        server_name  localhost;

        location / {
            root   D:/nginx-1.18.0/nginx-1.18.0/dist;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        
    location /prod-api/{
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://**.***.***/***:8083/;
    }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    server {
        listen       8081;
        server_name  localhost;

        location / {
            root   D:/nginx-1.18.0/nginx-1.18.0/dist_subei;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        
    location /prod-api/{
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://**.***.***/***:8082/;
    }
    location /profile/upload/{
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://**.***.***/***:8082/profile/upload/;
    }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

 

  


    server {
        listen       8084;
        server_name  localhost;

        location / {
            root   D:/nginx-1.18.0/nginx-1.18.0/dist1;
            try_files $uri $uri/ /index.html;
            index  index.html index.htm;
        }
        
    location /prod-api/{
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header REMOTE-HOST $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_pass http://**.***.***/***:8080/;
    }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }
}

### 配置 RuoYi 项目Nginx 中的实现方法 在部署 RuoYi 项目时,Nginx配置需要兼顾前端路由的兼容性、静态资源的映射以及后端接口的代理。以下为典型的 Nginx 配置,适用于 RuoYi 前后端分离项目。 #### 基础配置:兼容前端路由与刷新请求 在使用 Vue Router 的 `history` 模式时,必须配置 Nginx 以确保页面刷新不会导致 404 错误。具体配置如下: ```nginx location / { root /data/ruoyi/dist; index index.html; try_files $uri $uri/ @router; } location @router { rewrite ^.*$ /index.html last; } ``` 该配置通过 `try_files` 指令尝试匹配请求路径,若未找到对应资源,则交由 `@router` 处理,重写为 `index.html`,从而保证 Vue Router 的 `history` 模式正常运行[^1]。 #### 静态资源路径映射 RuoYi 项目中上传的文件通常存储在特定目录,如 `/data/ruoyi/uploadPath/`,可通过以下配置实现静态资源访问: ```nginx location /static/ { alias /data/ruoyi/uploadPath/; } ``` 此外,为兼容 RuoYi 的历史路径结构,可添加如下重写规则: ```nginx location /static/profile/ { rewrite /static/profile/(.*) /static/$1 last; } ``` 上述配置确保 `/static/profile/` 路径下的请求能够正确映射到实际存储路径[^2]。 #### 后端接口代理配置 RuoYi 项目的后端服务通常运行在本地(如 `localhost:8080`),可通过如下配置实现反向代理: ```nginx location /prod-api/ { proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://localhost:8080/; } ``` 该配置将 `/prod-api/` 路径下的请求转发至后端服务,并设置必要的请求头信息以支持身份验证和日志追踪[^1]。 #### 项目部署支持 若在同一台服务器上部署多个 RuoYi 项目,可通过不同的路径区分: ```nginx location /project1/ { root /data/ruoyi/project1/dist; index index.html; try_files $uri $uri/ /project1/index.html; } location /project2/ { root /data/ruoyi/project2/dist; index index.html; try_files $uri $uri/ /project2/index.html; } ``` 每个项目独立配置,确保路径隔离与路由兼容性[^3]。 #### 安全策略与限制访问 为增强安全性,可限制对敏感接口的访问,例如 `/api/actuator` 和 `/api/swagger`: ```nginx location ~ ^/api/actuator { default_type application/json; return 403 '{"status":"UP","result":"refused"}'; } location ~ ^/api/swagger { default_type application/json; return 403 '{"status":"UP","result":"refused"}'; } ``` 这些配置阻止外部访问健康检查和文档接口,防止信息泄露[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值