将 springboot 应用安装成 Windows 服务
安装工具 springboot 官网 doc 推荐 WinSW
WinSW 的 github 地址
WinSW 3 要运行在 .NET Framework 4.6.1 及更高版本上。如果机器上没有安装 .NET Framework,可以使用基于 .NET Core 的 64-bit 或者 32-bit 的 exe 工具代替 WinSW 3, WinSW-x64.exe 、 WinSW-x86.exe 。
使用 WinSC 将 springboot 应用 jar 安装为 Windows 服务非常简单
将 id 、name 改成自己的服务名(只要保证在所有的 Windows 服务中名字唯一即可),有环境变量的话,就配置到 env 标签中,executable 和 arguments 就是启动服务时要执行的命令,和命令行窗口中敲的启动 jar 的命令一样。
备注:只要保证 exe 文件 和 xml 文件 放在同一个目录中即可, jar 的位置没有强制要求,因为 jar 文件的路径是在 xml 文件中配置的。
另一种命令方式
windows设置SpringBoot程序(bat脚本)开机自启
新建文本档文件,重命名文件,如run.bat
编写启动脚本,以启动SpringBoot程序为例,路径需为绝对路径。
双击run.bat,测试是否能启动程序。
将脚本放在C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp文件夹下。
注意开启显示windows的隐藏文件夹。
关闭账号验证,是因为当windows开机后,不登录程序不会触发启动,无法实现开机后程序自启。
win+R输入 control userpasswords2
在开的窗口中去掉【要使用本计算机,用户必须输入用户名密码】前的勾
在未安装docker环境的windows系统上将springboot项目镜像推送到远程主机
一,修改pom文件
在pom.xml文件中添加以下信息:
plugins
plugin
groupIdorg.springframework.boot/groupId
artifactIdspring-boot-maven-plugin/artifactId
configuration
forktrue/fork
/configuration
/plugin
plugin
groupIdcom.spotify/groupId
artifactIddocker-maven-plugin/artifactId
version1.0.0/version
configuration
imageName {project.artifactId}/imageName
dockerDirectory {project.build.directory}/directory
include${project.build.finalName}.jar/include
/resource
/resources
dockerHost;/dockerHost
/configuration
/plugin
/plugins
二,配置好Dockerfile文件
FROM java:8
MAINTAINER LiXiang
VOLUME /tmp
RUN echo 'Asia/Shanghai' /etc/timezone
RUN mkdir -p /usr/local/app
COPY sscm-eureka-server-1.0.0.jar app.jar
EXPOSE 8761
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
三,开启远程主机docker远程访问权限
想要开启远程访问,就需要修改下面这个配置文件
vim /usr/lib/systemd/system/docker.service
1,在该文件[services]下增加以下配置:
ExecStart=
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
增加完后保存
2,重启服务
systemctl daemon-reload
systemctl restart docker
3,开启防火墙访问权限
以下功能基于您拥有root用户权限
安装:
sudo yum install firewalld firewall-config -y
1
启动、停止、禁用、启用
查看状态:
systemctl status firewalld
1
启动:
systemctl start firewalld
1
停止:
systemctl stop firewalld
1
禁用:
systemctl disable firewalld
1
启用:
systemctl enable firewalld
1
开放端口区间
firewall-cmd --permanent --zone=public --add-port=100-500/tcp
firewall-cmd --permanent --zone=public --add-port=100-500/udp
firewall-cmd --reload
1
2
3
查看开放的端口
firewall-cmd --zone=public --list-ports
1
查看还有哪些服务可以打开
firewall-cmd --get-services
1
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
1
重新载入
firewall-cmd --reload
1
查看
firewall-cmd --zone=public --query-port=80/tcp
1
删除
firewall-cmd --zone=public --remove-port=80/tcp --permanent
4,在本地使用maven打包命令
mvn clean package docker:build 即可将镜像推送至指定的主机
5,验证
1,打开本地浏览器输入:http://远程ip:2375,如果返回:{"message":"page not found"} 即表示远程端口开放成功
2,远程主机上使用docker images,如果在列表中出现了目标镜像,即表示远程推送成功。
window系统安装skywalking
skywalking 是一个开源的观测平台, 用于从服务和云原生基础设施收集, 分析, 聚合以及可视化数据.。生产环境下该平台是安装在linux 系统上,或者是docker容器化运行。但如果要在本地开发的话可能免不了要在windows系统下安装。
windows系统安装skywalking特别简单。解压apache-skywalking-apm-8.1.0.tar.gz,进入bin目录,在cmd窗口执行命令
测试的windows系统在虚拟机中。windows系统默认防火墙不支持远程访问。在虚拟机的浏览器端进行访问测试:
application.yml
springboot项目tomcat服务器默认8080端口,与skywalking-UI端口冲突,默认修改application.yml的项目端口号
SkywalkingDemoController
controller/SkywalkingDemoController
修改项目的 VM 运行参数,点击菜单栏中的 Run - EditConfigurations... ,此处我们以skywalkingdemo1 项目为例,修改参数如下:
修改D:\skywalking\webapp\webapp.yml 。 主要修改port: 18080
3风云免费服务器能跑springboot吗
3风云免费服务器是可以能springboot的,springboot项目在云服务器上的部署,总结如下:
1.购买云服务器
我购买的是华为云服务器,此外还可以在阿里云、腾讯云等平台购买。推荐使用Linux系统。
2.本机下载XShell 6 与XFtp 6
XShell 6:用于远程连接你的服务器(华为云服务器可以使用自带的CloudShell远程连接你的服务器)
XFtp 6:用于把本地文件上传至云服务器
3. 云服务器安装宝塔面板
宝塔面板是面向初学者的可视化工具,对Linux命令不了解,使用其可简化过程
1.打开xshell6,连接到服务器(或使用CloudShell)
2.访问:宝塔面板 - 简单好用的Linux/Windows服务器运维管理面板 (bt.cn)
3.点击:立即免费安装
所以3风云免费服务器是能跑springboot的