前后端分离项目在windows服务器上部署
后端为springboot框架,前端为vue框架,服务器为windows2008server R2系统。
后端部署
首先将项目打包,由于开发环境使用IDEA编码,可以直接使用IDEA的打包功能。点击右侧 Maven 按钮,然后双击Lifecycle下的package按钮。会在项目下target文件下生成jar包。
然后将jar包导入服务器中,在cmd中执行下面命令:
java -jar XXX.jar
即可运行后端项目。
tips
服务器需要安装JDK,这里选用1.8版本。
打包时,需要将application.yml中的server.address改为服务器的ip地址。
有时候重启服务时,之前的服务没有完全停掉,会出现端口占用的问题,导致无法启动。这时需要查看被占用端口的进程,在任务管理器中停掉该进程。如果在任务管理器中查不到该进程,则需要直接把java进程停掉。
前端部署
首先在服务器中安装nginx。
在nginx.conf中编辑,
同样,将项目打包,执行
vue-cli-service build
或者按照项目文件package.json中的设置,执行
npm run build:prod
即可将项目打包,生成dist文件夹。
将dist文件夹导入服务器中。
服务器中需要安装nginx1.8,版本太低了安装不了。
ngxinx安装完毕后,在nginx安装目录下,/conf/nginx.conf文件中更改配置
主要是更改前两个方框,第一个框中分别改为前端服务端口和地址,第二个方框改为前端打包的dist文件路径。
更改完毕后,关闭nginx服务,开启nginx服务
这样正常的话,项目便可在服务器上正常运行了。
//关闭nginx服务
nginx -s quit
//开启nginx服务
start nginx.exe
报错
当使用公共域名的时候,类似http://localhost:8080/I_LOVE_YOU/login,需要在配置文件中同时配置公共域名的location,
location /I_LOVE_YOU/ {root D:\\nginx-1.20.1\\html\\dist;index index.html index.htm;try_files $uri $uri/ @router;
}
location @router {rewrite ^.*$ /index.html last;
}
如果没有配置的话,会报错404。
system cannot find the path specified /html/dist/user/login
一开始一直不明白为啥报这个错,把文件路径和访问地址拼在一起了,就离谱。。。
最近又遇到错误,在某台服务器上即便这样配置还是会报错
rewrite or internal redirection cycle while redirect to named location "router"
在location @router中的index.html的路径前还要添加子目录,这样才能正常运行。
tips
在本地页面正常显示,在服务器却显示为空白页面。原因为:
本地使用chrome浏览器访问正常,而服务器为ie浏览器,不能完整显示页面元素。
更换浏览器即可。
注意
1.之前出现服务器可以ping通主机,但主机ping不通服务器的问题。
需要在服务器中设置:
进入控制面板——>管理工具——>找到 “高级安全 Windows防火墙”
点击 入站规则
找到 回显请求-ICMPv4-In (Echo Request – ICMPv4-In)
右键 点击规则 点击“启用规则(Enable)”
(win7在本地网络连接----属性-----高级------网络连接设置-----设置----ICMP中—点击—允许传入的回显请求(打上勾)–确定就ok了。)
禁止ping的方法相同
2. 以及服务器的项目开启后,其他电脑请求失败的问题。
需要在服务器上的开放项目的前后台端口:
在防火墙设置中,新增入站规则,将两个端口分别开放即可。
3. 更改服务器的端口
打开注册表,在/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/Wds/rdpwd/Tds/Tcp,更改其PortNumber。
在/HKEY_LOCAL_MACHINE/SYSTEM/CurrentControlSet/Control/Terminal Server/WinStations/RDP-Tcp,更改其PortNumber。
4. 项目中有导出txt文件功能,在本地导出的文件可以正常换行,而在服务器上却没有换行,解决方式,在后台代码中,更改写入函数,将 \n 改为 \r\n即可。
5. 每次生成的文件总会接着上次的文件后面继续生成,我想要覆盖以前的重新生成,需要将这里第二个参数改为false,意为不追加。
FileWriter fw = new FileWriter(file,true)
6.每次生成的文件为空白,内容只有“undefined”。
因为后台将生成文件的接口,默认设置了端口号20000,请求被浏览器拦截,故而没有写入文件。
7.刷新报500,每次页面第一次显示正常,但刷新一次就报500。在error.log中查看报错信息,类似于下面的报错,
rewrite or internal redirection cycle while processing "/web/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/index.php/Home/User/login",
尝试在nginx.conf中添加location / { try_files $uri $uri/ /index.html; }
;
或者在前端vue项目中更改,将前端mode: ‘history’注释掉;
或者更改rewrite ^/(.*).html$ /$1.html?mode=test last;
last改为break.
都没有解决问题,最后发现实在location @router{}没有配置相应的root,配置完毕后刷新就正常了。
参考
server2008服务器可以远程桌面连接,但是ping不通
nginx中部署前端,后端打成jar包运行
Windows环境配置Nginx,并引入项目的配置文件
使用nginx作为vue项目服务器,解决vue路由404问题
nginx配置Router
前后端分离项目在windows服务器上部署相关推荐
- p6 软件 服务器没有项目了,前后端分离项目一台服务器上线
一.购买服务器 这里有几点注意 选择配置 linux 系统的时候最好选择centos7+不要选择centos6+ 配置开发端口最好把常用端口打开以及运行端口最好多开几个防止后续nginx 启动网页没法 ...
- springboot前后端分离项目MultipartFile获取前端传的file为null问题
[问题描述] springboot+vue 前后端分离项目,在对接上传文件功能时,一直显示文件为空. [分析] 查找了很多博客,解决方法五花八门,但原因应该还是 springboot自带的org.sp ...
- 在Docker 上完成对Springboot+Mysql+Redis的前后端分离项目的部署(全流程,全截图)
本文章全部阅读大约2小时,包含一个完整的springboot + vue +mysql+redis前后端分离项目的部署在docker上的全流程,比较复杂,请做好心理准备,遇到问题可留言或则私信 目录 ...
- 前后端分离项目部署(部署在同一台服务器)
前后端分离项目部署(部署在同一台服务器) 博主现在参与的项目是前后端分离的,前端是用vue写的并用npm构建的,后端是用java写的用maven构建的,但是前端和后端在同一个项目中,之前的部署方式是前 ...
- Vue2+Node.js前后端分离项目部署到云服务器
本文参考教程: NodeJS项目部署到阿里云ECS服务器全程详解 - 知乎本文详细介绍如何部署NodeJS项目到阿里云ECS上,以及本人在部署过程中所遇到的问题.坑点和解决办法,可以说是全网最全最详细 ...
- (一)专题介绍:移动端安卓手机改造成linux服务器linux服务器中安装软件、部署前后端分离项目实战
快捷目录 前言 一.涉及到的相关技术简介 二.具体实现过程及踩坑杂谈 1.安卓手机改造成linux系统实现方案 2.改造后的手机Linux中软件的安装 3.手机Linux中安装MySQL5.7踩坑实录 ...
- 前后端分离项目线上部署
一.前言 我们在开发了一个前后端分离项目之后,为了任何用户在不同条件下也能够访问,需要将项目部署至线上,那么我们首先需要拥有一个服务器,网上有很多教程,能够教会大家如何拥有属于自己的服务器,这里不再赘 ...
- 阿里云视频上传视频获取进度条问题(使用session方案,获取进度一直为0的解决方案)补充:前后端分离项目中获取进度解决方案
1.场景描述: 之前用阿里云上传视频,前端反应上传视频经常出现获取视频url失败问题.但是接口我测过很多遍都是没有问题的.后台这边提供了一个视频上传的接口返回一个videoId,还提供了一个根据vid ...
- 【前后端分离项目实现图片上传】
前后端分离项目实现图片上传 后端业务代码 前端部分 实例 以样例的形式来展示:其中包括前台获得数据进行显示时图片的处理:以及上传图片时的处理: 后端业务代码 @RestController @Requ ...
最新文章
- Java终止当前线程的方法
- nginx限制某个IP同一时间段的访问次数
- Android中Activity之间的数据传递(Intent和Bundle)
- python3默认编码_python3的url编码和解码,自定义gbk、utf-8的例子
- (fofa信息收集骚操作)windows查看文件的md5值
- 长城汽车:魏牌宣布涨价 咖啡系部分车型上调5000-12000元
- 如何从0开发一个Atom组件
- CI框架主题切换的功能
- 转 Mac 使用ab性能测试工具
- android多媒体框架学习 详解
- 【转载】FPGA静态时序分析——IO口时序
- WARN [org.springframework.web.servlet.PageNotFound] No mapping found for HTTP request with URI
- Linux led子系统分析之三 led设备驱动与ledtrigger驱动实现
- 计算机如何驱动无线网络,详细教你电脑无线网卡驱动怎么安装
- 明月当空照,python3D编程初阶:坐标、模型、纹理与光
- Vue中使用纯CSS实现全屏网格加渐变色背景布局
- 解决树莓派4B无线鼠标迟滞/延迟的问题
- 使用gitee+gitbook搭建个人在线电子书
- 学习软件测试要掌握什么基本知识?
- android 按钮修改边框颜色代码,Android CheckBox修改大小、边框颜色,以及自定义CheckBox;...
热门文章
- 选WMS系统时,云WMS能给企业带来什么好处
- 局部遮荫光伏matlab,单极式光伏并网发电系统的仿真与实验研究
- 【ES插件】analysis-icu和analysis-kuromoji
- 《go语言圣经》之程序结构
- ppt打不开了怎么修复
- EES 框架 BLL层代码组织与介绍
- 参数学习方法和非参数学习的区别
- 控制器的基本组成与实现
- javafx 报错javafx.fxml.LoadException:和Caused by: java.lang.NullPointerException
- 最新彩虹易支付系统源码+零云美化版的