Nginx配置ruoyi-Vue前后端分离

一、本地环境

1.1本地后端

应用上下文 api
在这里插入图片描述

测试接口

curl --request GET \
  --url http://localhost:8080/api/captchaImage

后端应用返回
在这里插入图片描述

1.2本地前端

前端代理后端接口,对应后端的ip+端口+应用上下文
在这里插入图片描述

配置前端路由
在这里插入图片描述

配置前端路由在这里插入图片描述

二、测试环境

2.1 测试后端

第一步
测试环境,在应用服务器上,测试

curl --request GET \
  --url http://localhost:8080/api/captchaImage

应用返回结果
在这里插入图片描述
第二步
配置nginx应用后端

 		#ruoyi后端应用
 		location /api {
                proxy_pass  http://localhost:8080/api;
        }

配置完nginx,检测公网是否可以通过nginx访问
(公网ip+nginx监听端口+nginx配置文件中拦截路由,对应location后面的api)

curl --request GET --url http://106.54.220.184:80/api/captchaImage

应用返回
在这里插入图片描述

2.2 测试前端80端口直接访问

配置ip+80端口直接访问到

http://106.54.220.184

修改前端项目
在这里插入图片描述在这里插入图片描述

npm run build:stage

部署
在这里插入图片描述

nginx配置http默认走80,所以配置到80下面

    	# 默认访问
        # 部署路径:/app/nginx/html/dist-g
        # 访问路径为:http://localhost:80
        location / {
            try_files $uri $uri/ /index.html;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $http_host;
            root /app/nginx/html/dist-g;
            index index.html index.htm;
        }

在这里插入图片描述

配置完成
在这里插入图片描述
在这里插入图片描述

2.3 测试前端路由前缀访问

配置ip+端口+路由访问(ruoyi)

http://106.54.220.184/ruoyi

修改前端项目
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

npm run build:stage

部署
在这里插入图片描述
修改Nginx配置,并重新加载配置

      	# 带前缀的访问
        # 部署路径:/app/nginx/html/dist-r
        # 访问路径为:http://localhost:80/ruoyi
        location /ruoyi {
            try_files $uri $uri/ /index.html;
            alias /app/nginx/html/dist-r;
            index index.html index.htm;
        }

测试
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、Nginx容器部署前后端分离

因为nginx是使用docker启动,所以文件目录需要更改,宿主机/app/nginx 映射容器内部/usr/share/nginx

        # 默认访问
        # 部署路径:/app/nginx/html/dist-g
        # 访问路径为:http://localhost:80
        location / {
            try_files $uri $uri/ /index.html;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header Host $http_host;
            root /usr/share/nginx/html/dist-g;
            index index.html index.htm;
        }

容器内要访问宿主机服务,需要查看docker0的网络

ip addr show docker0

查询结果docker0:172.17.0.1

        #ruoyi后端应用
        location /api {
             proxy_pass http://172.17.0.1:8080/api;
        }

四、root与alias

1.root

指定静态资源目录位置,它可以写在 http 、 server 、 location 等配置中。

配置:location /image { root /opt/nginx/static;}

当用户访问 www.test.com/image/1.png 时,实际在服务器找的路径是 /opt/nginx/static/image/1.png

[注意] root 会将定义路径与 URI 叠加, alias 则只取定义路径。

2.alias

它也是指定静态资源目录位置,它只能写在 location 中。

配置:location /image { alias /opt/nginx/static/image/;}

当用户访问 www.test.com/image/1.png 时,实际在服务器找的路径是 /opt/nginx/static/image/1.png

[注意] 使用 alias 末尾一定要添加/,并且它只能位于 location 中。

RuoYi-Vue前后端项目部署需要按照以下步骤进行操作。首先,在ruoyi-ui目录下执行命令行,运行打包命令,生成dist目录。\[1\]接下来,需要进行后端项目的部署。可以修改nginx.conf文件,在根目录下添加try_files $uri $uri/ /index.html的配置,指定根目录为/usr/local/workspace/RuoYi-Vue/ruoyi-ui/dist/,并设置index.html为默认页面。\[2\]这样就可以解决首次进入管理页面正常,但是刷新后报404的问题。RuoYi是一个基于经典技术组合的后台管理系统,使用了Spring Boot、Apache Shiro、MyBatis和Thymeleaf等技术,旨在让开发者专注于业务,降低技术难度,节省人力成本,缩短项目周期,并提高软件安全质量。\[3\] #### 引用[.reference_title] - *1* *2* [RuoYi-Vue前后端项目部署](https://blog.csdn.net/qq_42702382/article/details/124571939)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [若依RuoYi-Vue项目部署(前后端分离版本)](https://blog.csdn.net/weixin_57504000/article/details/124546200)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值