springboot+vue本地部署
springboot+vue本地部署
最近完成项目,需要部署到本地,期间遇到了一些问题,最后写下流程以作记录。
springboot打包
这块的内容较为简单一般为在pom.xml
中加入
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.22.2</version>
<configuration>
<skipTests>true</skipTests>
</configuration>
</plugin>
</plugins>
</build>
让项目在打包时,后续出现"xx.jar
中没有主清单属性的解决办法"。
之后直接点击图中的package
就可完成后端打包
此时就可在对应的文件夹中看到生成的包
然后只需要在目录栏中输入cmd
,命令提示符进入对应的目录,
java -jar xxx.jar
(可打出第一个字母tab补全)
至此后端项目就完成了
前端vue部署
首先在项目根目录下创建vue.config.js
文件
publicPath: './', // 部署应用包时的基本 url
outputDir: 'dist', // build 构建文件目录
assetsDir: 'static', // 静态资源目录
lintOnSave: process.env.NODE_ENV === 'development', // 仅在开发模式下进行 eslint 检测代码
productionSourceMap: false, // 禁用生产环境的 source map
runtimeCompiler: true, // 是否运行时组件中使用 template
devServer: {
host: '0.0.0.0', // 默认是 localhost,可不配置
port: 8000, // 配置端口号
open: true, // 启动是否打开浏览器
overlay: { // 是否在浏览器上显示编译的 errors 或 warnings
warnings: false,
errors: true
},
proxy: {
'/api': { // 被代理的接口名
target: 'http://localhost:8080', // url地址
changeOrigin: true, // 发送请求头中 host 是否设置成 target
pathRewrite: { // 重定向
'^/api': ''
}
}
}
},
- 查看路由中
(router/index.js)
是否使用history
,是的话修改为hash
。或者将mode
直接注掉,因为默认使用hash
查看路由中(router/index.js)
是否使用history
,是的话修改为hash
。或者将mode直接注掉,因为默认使用hash。
然后再次使用npm run build
进行打包就会出现dist
文件夹,已经其中静态文件会放置到static
中。
到此打包已经结束。
部署nginx
首先安装
nignx
,具体可搜博客然后将
dish
中的内容复制到nginx
目录下的html
文件夹下
最后更改
nginx.conf
#user nobody;
worker_processes 1;
#error_log logs/error.log;
#error_log logs/error.log notice;
#error_log logs/error.log info;
#pid logs/nginx.pid;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
#log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
#access_log logs/access.log main;
sendfile on;
#tcp_nopush on;
#keepalive_timeout 0;
keepalive_timeout 65;
#gzip on;
server {
listen 8001;
server_name localhost;
#charset koi8-r;
#access_log logs/host.access.log main;
root "E:\ideaworkplace\AVIC\AVICTest\vue-admin\dist";
location / {
#root html;
#index index.html index.htm;
try_files $uri /index.html;
}
location ^~ /api/ {
proxy_pass http://localhost:8080/; #后端服务真实地址
}
# location /api {
# proxy_pass http://localhost:8080;
# proxy_http_version 1.1;
# proxy_set_header Upgrade $http_upgrade;
# proxy_set_header Connection 'upgrade';
# proxy_set-header Host $host;
# proxy_cache_bypass $http_update;
# }
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
# proxy the PHP scripts to Apache listening on 127.0.0.1:80
#
#location ~ \.php$ {
# proxy_pass http://127.0.0.1;
#}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:9000;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#}
# deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
}
# another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen 8000;
# listen somename:8080;
# server_name somename alias another.alias;
# location / {
# root html;
# index index.html index.htm;
# }
#}
# HTTPS server
#
#server {
# listen 443 ssl;
# server_name localhost;
# ssl_certificate cert.pem;
# ssl_certificate_key cert.key;
# ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m;
# ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on;
# location / {
# root html;
# index index.html index.htm;
# }
#}
}
- 然后直接循行Nginx.exe ,或者start nginx都可,屏幕会闪烁以下,表示运行成功
- 然后就能访问
小结:由于是第一次部署前后端分离项目,期间遇到很多问题,一般解决思路通过程序和打完的包互相访问(4种)试出哪个有问题,然后对应的解决。
springboot+vue本地部署的更多相关文章
- SpringBoot + Vue + nginx项目部署(零基础带你部署)
一.环境.工具 jdk1.8 maven spring-boot idea VSVode vue 百度网盘(vue+springboot+nginx源码): 链接:https://pan.baidu. ...
- 使用Docker部署Spring-Boot+Vue博客系统
在今年年初的时候,完成了自己的个Fame博客系统的实现,当时也做了一篇博文Spring-boot+Vue = Fame 写blog的一次小结作为记录和介绍.从完成实现到现在,也断断续续的根据实际的使用 ...
- springboot+vue前后端分离,nginx代理配置 tomcat 部署war包详细配置
1.做一个小系统,使用了springboot+vue 基础框架参考这哥们的,直接拿过来用,链接https://github.com/smallsnail-wh/interest 前期的开发环境搭建就不 ...
- vue + ArcGIS 地图应用系列一:arcgis api本地部署(开发环境)
封面 1. 下载 ArcGIS API for JavaScript 官网地址: https://developers.arcgis.com/javascript/3/ 下载地址:http://lin ...
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题(一)
当前后端分离时,权限问题的处理也和我们传统的处理方式有一点差异. 笔者前几天刚好在负责一个项目的权限管理模块,现在权限管理模块已经做完了,我想通过5-6篇文章,来介绍一下项目中遇到的问题以及我的解决方 ...
- SpringBoot+Vue前后端分离,使用SpringSecurity完美处理权限问题
原文链接:https://segmentfault.com/a/1190000012879279 当前后端分离时,权限问题的处理也和我们传统的处理方式有一点差异.笔者前几天刚好在负责一个项目的权限管理 ...
- SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后端篇(一): 搭建基本环境、整合 Swagger、MyBatisPlus、JSR303 以及国际化操作
相关 (1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境:https://www.cnblogs.com/l-y- ...
- SpringBoot工程+热部署进行远程调试
本文转载自:https://blog.csdn.net/qq_31868349/article/details/78553901 SpringBoot工程+热部署进行远程调试 本地端添加配置 在pom ...
- Vue项目部署问题及解决方案
Vue项目部署问题及解决方案 Vue-Router 有两种模式,默认是 hash 模式,另外一种是 history 模式. hash:也就是地址栏里的 # 符号.比如 http://www.examp ...
- Vue项目部署遇到的问题及解决方案
写在前面 Vue-Router 有两种模式,默认是 hash 模式,另外一种是 history 模式. hash:也就是地址栏里的 # 符号.比如 http://www.example/#/hello ...
随机推荐
- 针对Vmware打开BIOS中VT虚拟化相关后仍然报错
安装虚拟机时报错问题现象: 通过VMware虚拟机安装Centos时提示弹出提示框,"已将该虚拟机配置为使用64位客户机操作系统,但是,无法执行64位操作."具体提示如下图所示: ...
- Jemeter 压测 Elasticsearch
Jemeter 版本 apache-jmeter-5.5 Elasticsearch 版本 7.17.6 自行官网下载 Elasticsearch压测报告 Elasticsearch 服务器当前情况: ...
- mxArray 和 mwArray 的区别
首先,mxArray是MatlabC 函数库的结构体,而mwArray是Matlab C++ 函数库中对mxArray的包装 类. 其次,二者的内存管理方式不同.mxArray的内存管理方式比较松散, ...
- mysql中char和varchar的区别
char的长度是不可变的,是定长的, varchar的长度是可变的,不定长的: 但是char的存取速度比varchar快,因为其长度固定,方便存储和查找. char空间换时间,varchar时间换空间 ...
- 个人网盘搭建SeaFile
资料参考: https://www.ittel.cn/archives/2904.html https://www.cnblogs.com/jiuyachun/p/10185111.html 恢复和 ...
- 【React】React项目实践中的问题
报错'react-scripts' 不是内部或外部命令,也不是可运行的程序 React新建脚手架项目,在目录下添加了public\index.html,src\App.js,index.js文件,除此 ...
- [vsCode]Visual Studio Code环境变量不同步
很奇怪的事情,在设置好Path环境变量后,powershell正常了, 但是vscode不正常 解决方法竟然是: 确认{在PowerShell运行正常}后,关闭{vsCode},进入{管理员模式的Po ...
- idea如何引入外部jar包
原文转载:https://blog.csdn.net/weixin_46949892/article/details/121602175
- 提取可执行文件中的调试信息 objcopy --only-keep-debug app app.debug
https://blog.csdn.net/CaspianSea/article/details/17269977 set-debug-directory show-debug-directory i ...
- Qt 按键添加图标
1.开发环境:Qt5.12.2,QtCreate4.8.2 2.直接上代码 /* 按键上背景 */ QPixmap pixmap(":/Resourses/images/easyicon_n ...