springboot部署服务器 springboot和mvc区别
Spring Boot 如何能部署到不同的服务器
Spring Boot可以通过以下两种方式部署到不同的服务器:
1.使用jar包方式启动,也就是使用spring boot内置的tomcat运行。服务器上面只要你配置了jdk1.8及以上,就ok。不需要外置tomcat。具体步骤如下:
-打成jar包
-将jar包放到任意目录,执行下面的命令:`nohup java-jar test.jar>temp.txt&`//这种方法会把日志文件输入到你指定的文件中,没有则会自动创建。进程会在后台运行。
-如果需要在服务器上部署多个Spring Boot项目,可以使用不同的端口号来区分不同的项目,命令为:`java-jar xxx.jar--server.port=xxxx`,其中xxxx为端口号。
2.如果需要使用Nginx等反向代理服务器来访问Spring Boot项目,需要在Nginx配置文件中添加相应的配置。
vue + springboot 项目部署服务器(宝塔面板)
部署Vue+ SpringBoot项目至服务器(宝塔面板)的步骤如下:
步骤一:调整springboot的数据库相关配置。
步骤二:使用maven进行项目打包。
步骤三:将打包后的jar文件存放在target文件夹中。
步骤四:登录宝塔面板,确保已安装Java项目配置。
步骤五:进行项目部署。
步骤六:访问项目。
步骤七:连接访问数据库。如果项目包含数据库,首先上传至服务器,然后访问数据库。
步骤八:在服务器上安装phpMyAdmin,用于数据库管理。
步骤九:在phpMyAdmin中创建数据库。可通过两种方式添加数据库:点击添加,输入密码后提交,然后点击导入;或先在服务器创建数据库,然后通过服务器获取。
步骤十:访问后端接口数据,如获取用户名。
至此,后端项目部署完成,接下来将部署前端Vue项目,详情请见下篇文章。
windows部署springboot项目(windows部署springboot)
将springboot应用安装成Windows服务
安装工具springboot官网doc推荐WinSW
WinSW的github地址
WinSW3要运行在.NETFramework4.6.1及更高版本上。如果机器上没有安装.NETFramework,可以使用基于.NETCore的64-bit或者32-bit的exe工具代替WinSW3,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\StartMenu\Programs\StartUp文件夹下。
注意开启显示windows的隐藏文件夹。
关闭账号验证,是因为当windows开机后,不登录程序不会触发启动,无法实现开机后程序自启。
win+R输入controluserpasswords2
在开的窗口中去掉【要使用本计算机,用户必须输入用户名密码】前的勾
在未安装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文件
FROMjava:8
MAINTAINERLiXiang
VOLUME/tmp
RUNecho'Asia/Shanghai'/etc/timezone
RUNmkdir-p/usr/local/app
COPYsscm-eureka-server-1.0.0.jarapp.jar
EXPOSE8761
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-Htcp://0.0.0.0:2375-Hunix:///var/run/docker.sock
增加完后保存
2,重启服务
systemctldaemon-reload
systemctlrestartdocker
3,开启防火墙访问权限
以下功能基于您拥有root用户权限
安装:
sudoyuminstallfirewalldfirewall-config-y
1
启动、停止、禁用、启用
查看状态:
systemctlstatusfirewalld
1
启动:
systemctlstartfirewalld
1
停止:
systemctlstopfirewalld
1
禁用:
systemctldisablefirewalld
1
启用:
systemctlenablefirewalld
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打包命令
mvncleanpackagedocker:build即可将镜像推送至指定的主机
5,验证
1,打开本地浏览器输入:http://远程ip:2375,如果返回:{"message":"pagenotfound"}即表示远程端口开放成功
2,远程主机上使用dockerimages,如果在列表中出现了目标镜像,即表示远程推送成功。
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.本机下载XShell6与XFtp6
XShell6:用于远程连接你的服务器(华为云服务器可以使用自带的CloudShell远程连接你的服务器)
XFtp6:用于把本地文件上传至云服务器
3.云服务器安装宝塔面板
宝塔面板是面向初学者的可视化工具,对Linux命令不了解,使用其可简化过程
1.打开xshell6,连接到服务器(或使用CloudShell)
2.访问:宝塔面板-简单好用的Linux/Windows服务器运维管理面板(bt.cn)
3.点击:立即免费安装
所以3风云免费服务器是能跑springboot的