Nginx前后端分离部署springboot和vue项目

Nginx前后端分离部署springboot和vue项目,其实用的比较多,有的小伙伴对其原理和配置还一知半解,现在就科普一下:

1、准备后端项目

后端工程无论是微服务还是单体,一般最终都是jar启动,关键点就是把后端服务名配置上,作为前端Nginx反向代理的路径:yml文件中配置类似context-path: /aj-report

启动后端服务:

用postman测试(注意 ip+端口+服务名):

2、准备前端项目

注意开发环境dev.env.js 和 生成环境 prod.env.js的配置,后端接口的ip+端口+服务名

我这里生产环境也是在本机测试,

执行 npm run build 打包出dist文件夹,并拷贝到nginx的html文件夹下,至此前端准备完毕。

3、Nginx配置

编辑 nginx.conf

关键配置如下:

server下增加 location / 指向 html/dist ,注意这里的dist文件夹是相对路径,

增加 location /aj-report 反向代理配置,指向后端服务名,注意 ip、端口、服务名的配置

nginx.conf 配置如下:

java 复制代码
 server {
        listen       9528;
        server_name  localhost;	
		location / {
            root  html/dist;
            index  index.html index.htm;
        }
        location /aj-report {
			   proxy_pass http://127.0.0.1:9095;
			   proxy_connect_timeout 15s;
			   proxy_send_timeout 15s;
			   proxy_read_timeout 15s;
			   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 http;
			   proxy_http_version 1.1;
			   proxy_set_header Upgrade $http_upgrade;
			   proxy_set_header Connection "upgrade";
			   proxy_set_header Host $http_host;
        }
		# 避免端点安全问题
		if ($request_uri ~ "/actuator"){
			return 403;
		}

listen 9528; 为前端服务的端口,

4、启动Nginx测试

win10环境下,双击nginx.exe即可

浏览器敲入 http://localhost:9528/ 看是否work

it works,弄清楚原理之后,其实挺简单的~

相关推荐
康小汪2 小时前
AI 写 Vue 总写成同一个味道:给它装 Skills,装的不是知识是边界
前端·vue.js·人工智能·ai编程·最佳实践
yz_aiks3 小时前
Spring AI 2.1 ChatMemory 已过时用什么替代:迁移到 Session Memory 实战(JDBC 存储与会话压缩)
java·spring boot·大模型·ai agent·spring ai
学长毕设4 小时前
基于SpringBoot的上门洗车服务系统设计与实现
java·spring boot·后端
北冥有鱼6 小时前
发版后动态路由点击报 `Failed to fetch dynamically imported module`」问题上的完整排查与修复过程
前端·vue.js
行思理7 小时前
Nginx 跨站请求(CORS)配置完全指南:从原理到生产实践
java·前端·nginx
apollo_qwe9 小时前
大模型 API 接通了,AI 聊天页面为什么还是不好用?
前端·vue.js·人工智能
jaysee-sjc10 小时前
【苍穹外卖】Day12:工作台数据看板与 Excel 报表导出
java·开发语言·数据库·spring boot·spring·微信·excel
小蒜学长11 小时前
基于 Spring Boot 的英语单词背诵系统的设计与实现(代码+数据库+LW)
java·数据库·spring boot·后端
CoderYanger11 小时前
Java EE 进阶:5. Spring IoC&DI(第一弹):Spring IoC
java·开发语言·spring boot·spring·面试·职场和发展·java-ee
李迟13 小时前
Nginx容器绑定81端口报拒绝访问错误的解决
运维·nginx