vue项目部署上线

公司做的oa项目之前是用的dwz框架,后来领导嫌弃页面太难看,然后就重新做了一版,用的是vue-element-admin

地址

github:https://github.com/PanJiaChen/vue-element-admin
官网:https://panjiachen.github.io/vue-element-admin-site/zh/
预览地址:https://panjiachen.github.io/vue-element-admin/#/dashboard

用这个框架前,需要安装node.js环境(npm包管理器),此部分就不写了,自行百度

目录结构

在这里插入图片描述

安装

在这里插入图片描述
测试环境:
npm run dev 运行的是测试环境,测试环境能调用接口,需要在文件中配置代理,在dev中配置,如下图:
在这里插入图片描述
上面这样配置只是方便前端在开发的时候获取数据,正式环境需要配置服务器反向代理

线上环境:
npm run build 运行的是线上环境,线上环境能调用接口,需要在文件中配置代理,在build中配置,如下图:
在这里插入图片描述
运行npm run build前需要把assetsPublicPath 改成 ‘./’,防止生成以后的静态文件路径不对,运行完以后,项目路径中找到打包后的文件,在项目文件的dist文件夹下面的static和index.html就是打包后的文件,只要这部分拷贝到你的项目根目录下就可以了,我是直接在线上将域名配置到dist下面的

配置线上反向代理

把这个vue项目部署到线上网上查询了很多资料,都说要反向代理,说用nginx做反向代理,关键我们用的apache,网上查了好久没有查到对应的资料,就自己琢磨了,配置如下图:
在这里插入图片描述
ProxyRequests {On|Off}:
是否开启apache正向代理的功能;启用此项时为了代理http协议必须启用mod_proxy_http模块。同时,如果为apache设置了ProxyPass,则必须将ProxyRequests设置为Off。

ProxyPass [path] !|url [key=value key=value …]]:
将后端服务器某URL与当前服务器的某虚拟路径关联起来作为提供服务的路径,path为当前服务器上的某虚拟路径,url为后端服务器上某URL路径。使用此指令时必须将ProxyRequests的值设置为Off。需要注意的是,如果path以“/”结尾,则对应的url也必须以“/”结尾,反之亦然。

ProxyPassReverse [path] !|url [key=value key=value …]]:
它一般和ProxyPass指令配合使用,此指令使Apache调整HTTP重定向应答中Location, Content-Location, URI头里的URL,这样可以避免在Apache作为反向代理使用时,。后端服务器的HTTP重定向造成的绕过反向代理的问题。

< Proxy >容器
< Proxy >容器用于封装一组proxy相关指令,这些指令主要用于设置访问权限、负载均衡成员组以及它们的属性。
上图配置是指:
访问oavue.com/api域下的所有请求转发给http://www.api.com代理

AllowOverride all :支持url rewirte

Options FollowSymLinks:在该目录中,服务器将跟踪符号链接。注意,即使服务器跟踪符号链接,它也不会改变用来匹配不同区域的路径名,如果在;标记内设置,该选项会被忽略

Require all granted:允许所有请求访问资源

此时访问oavue.com就可以访问网站了

apache反向代理参考:https://blog.youkuaiyun.com/sforiz/article/details/79651643

备注:assetsPublicPath 改成 './'后生成,部署到线上还是有的部分样式不显示,修改如下图,将红色部分true改为false,再重新run一遍即可,如下图:
在这里插入图片描述
至此vue项目部署上线完毕,哦也

ps:有兴趣的可以关注下我的公众号和小程序,谢谢啦~~
在这里插入图片描述在这里插入图片描述

<think>好的,用户想知道如何将SpringBoot和Vue组合的项目部署到生产环境。我需要结合提供的引用内容,整理出一个清晰的步骤指南。 首先,用户可能需要一个整体的流程,从打包到部署再到验证。我需要分步骤说明,每个部分需要涵盖SpringBoot和Vue的处理方式。 关于SpringBoot部分,引用里提到使用mvn clean package打包,生成jar文件。然后通过nohup命令启动,同时指定日志输出。这部分需要注意Java环境的配置,比如安装JDK,设置环境变量,这在引用3中有详细步骤。需要提醒用户检查Java版本,并正确配置PATH。 然后是Vue项目部署。通常Vue会打包成静态文件,需要配置生产环境的环境变量,比如API的baseURL指向后端地址。打包后生成的dist文件夹需要放到Web服务器如Nginx中,或者和SpringBoot一起部署。但引用中没有提到Nginx的配置,可能需要补充静态资源处理和反向代理的设置。 生产环境配置方面,SpringBoot的application-prod.properties需要设置端口、数据库连接、开启压缩等。同时,安全配置如关闭调试信息、设置CORS也很重要。Vue部分则需要配置生产环境变量,确保API请求正确。 启动和停止脚本部分,引用4提到了使用nohup启动,并保存日志。停止时需要根据PID结束进程。需要详细说明如何编写启动脚本和停止脚本,以及如何获取进程ID。 验证部分,用户需要检查后端接口和前端页面是否正常,可能需要使用curl测试API,或者查看日志排查问题。引用2和4提到了浏览器访问验证,需要确保端口开放和防火墙设置正确。 最后,注意事项里要提到环境一致性、日志管理和备份策略,这些都是部署后维护的关键点。可能还需要补充一些常见问题解决方法,比如端口冲突、依赖缺失等。 现在需要确保所有步骤清晰,语言简洁,符合用户的需求。同时,按照系统指令正确使用LaTeX格式,比如$JAVA_HOME$这样的变量用行内公式,独立命令块用代码块。引用标注要自然,比如在打包步骤后添加[^2],环境配置引用[^4]等。 可能还需要生成相关问题,比如如何优化部署流程、如何处理跨域问题、怎样配置HTTPS等,这些都可以作为后续的问题。</think>### SpringBoot + Vue 项目部署到生产环境分步指南 #### 一、环境准备 1. **服务器基础环境** - 安装JDK 1.8+并配置环境变量: ```bash # 解压JDK并设置路径(引用[^3]) tar -zxvf jdk-8u371-linux-x64.tar.gz -C /usr/local/ mv /usr/local/jdk1.8.0_371 /usr/local/java vi /etc/profile # 添加以下内容 ``` ```shell export JAVA_HOME=/usr/local/java export PATH=$JAVA_HOME/bin:$PATH ``` ```bash source /etc/profile java -version # 验证 ``` #### 二、项目打包 1. **SpringBoot后端打包** - 在项目根目录执行: ```bash mvn clean package # 生成target/*.jar(引用[^2]) ``` - 生成的JAR包路径示例:`target/vue-0.0.1-SNAPSHOT.jar` 2. **Vue前端打包** - 修改生产环境配置(`.env.production`): ```ini VUE_APP_API_BASE_URL=http://your-domain.com/api ``` - 执行构建: ```bash npm run build # 生成dist目录 ``` #### 三、部署架构 $$部署架构示意图$$ ``` 用户请求 -> Nginx(静态资源+反向代理) -> SpringBoot服务(JAR) ``` #### 四、服务端配置 1. **SpringBoot部署** - 上传JAR包至服务器(如`/home/java/`) - 启动命令(引用): ```bash nohup java -jar /home/java/vue-0.0.1-SNAPSHOT.jar \ > /home/java/logs/202408012log.txt 2>&1 & ``` - 停止服务: ```bash pid=$(ps -ef | grep vue-0.0.1 | grep -v grep | awk '{print $2}') kill -9 $pid ``` 2. **Vue静态资源部署** - 配置Nginx(示例配置): ```nginx server { listen 80; server_name your-domain.com; location / { root /home/web/dist; try_files $uri $uri/ /index.html; } location /api { proxy_pass http://localhost:8080; proxy_set_header Host $host; } } ``` #### 五、生产环境配置 1. **SpringBoot配置** ```properties # application-prod.properties server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/prod_db?useSSL=false spring.jpa.hibernate.ddl-auto=validate server.compression.enabled=true # 启用响应压缩(引用[^4]) ``` 2. **安全增强** - 关闭`actuator`端点(如非必要) - 配置CORS白名单 - 启用HTTPS加密 #### 六、验证流程 1. **后端验证** ```bash curl http://localhost:8080/api/health-check ``` 预期返回:`{"status":"UP"}` 2. **前端验证** - 浏览器访问`http://your-domain.com`,检查页面加载与接口调用 #### 七、注意事项 1. **环境一致性**:确保测试/生产环境的数据库版本、依赖库版本一致 2. **日志管理**:定期归档`/home/java/logs`目录下的日志文件[^4] 3. **监控配置**:建议添加服务存活监控(如`systemd`托管服务)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值