1、前提: Windows Server 2012 R2服务器上安装了JDK并且配置了Java环境变量。JDK安装与配置
2、准备需要部署Spring Boot项目,打成Jar包
① 项目架构
说明:项目是使用 spring initializer
Spring初始化器快速创建的,自带启动类BaiDuMapApplication
,在resources/static/
目录添加了一个map.html页面,在application.yml
配置文件中设置程序的端口号为7071。
② 将项目打成Jar包
在pom.xml
中添加项目打包类型
<packaging>jar</packaging>
在IDEA的命令行终端Terminal输入mvn clean package
将项目进行打包
查看jar包
3、连接远程服务器
① windows键 + r
,打开运行窗口,输入mstsc
,打开远程桌面连接。
输入远程服务器主机地址、用户名进行连接,在弹出Windows安全中心输入登录密码即可。
4、部署
① 复制本地电脑spring boot项目jar包到远程服务器中
② 安装WinSW部署Windows服务
作用:winsw是一个可以将任何应用程序注册成服务的软件。
获取WinSW https://github.com/kohsuke/winsw/releases
③ 配置WinSW
将下载的sample-minimal.xml
和 WinSW.NET4.exe
复制到和远程服务器spring boot项目jar同一目录中,并更改WinSW.NET4.exe
为BaiDuMapService.exe,sample-minimal.xml
改为BaiDuMapService.xml,两者文件名相同。
④ 编辑BaiDuMapService.xml配置文件
<service>
<!-- ID of the service. It should be unique across the Windows system-->
<id>BaiDuMapService</id>
<!-- Display name of the service -->
<name>BaiDuMapService</name>
<!-- Service description -->
<description>BaiDu Map</description>
<!-- Path to the executable, which should be started -->
<executable>java</executable>
<arguments> -jar baidu-map-0.0.1-SNAPSHOT.jar</arguments>
</service>
注意
:BaiDuMapService.xml中文注释可能会报错。
⑤ 注册服务
在BaiDuMapService.exe所在目录,以管理员方式打开cmd命令行窗口,输入BaiDuMapService install
指令。
⑥ 在任务管理其中查看服务,并启动
至此,spring boot项目就以服务的形式部署好了,接下来就是测试了。
5、测试
① 在本地浏览器进行访问,会出现如下问题
原因:
远程服务器开启了防火墙,spring boot项目的服务没有开放端口。
6、解决办法
① 关闭远程服务防火墙,但是不推荐
再次访问
② 创建BaiDuMapService的入站规则
a.控制面板==>系统和安全,打开Windows防火墙
b.点击高级设置,选择入站规则,新建规则
c.具体操作如下图:
设置好之后,入站的列表中就会看见刚才新建的入站规则了。
再次访问