springboot在服务器上的几种启动方式(小结)
程序员文章站
2024-02-24 10:19:40
一、使用内置的tomcat,通过java -jar的方式启动
比如:java -jar bms.jar
但是这种启动方式 一旦关闭控制台 或者crtl+c...
一、使用内置的tomcat,通过java -jar的方式启动
比如:java -jar bms.jar
但是这种启动方式 一旦关闭控制台 或者crtl+c 退出 此时应用就关闭了
所以我们需要换种方式
springboot中的maven插件,提供了一种很方便的类似于shell的开启、关闭、重启服务的操作。而且这种启动方式是让项目在后台运行的,关闭shell也不会使项目停止运行
1、首先,项目的pom添加下面的插件,然后maven install
<build> <plugins> <plugin> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-maven-plugin</artifactid> <configuration> <executable>true</executable> </configuration> </plugin> </plugins> </build>
2、将打包好的springboot jar包放入到服务器上,然后执行下面的命令
sudo ln -s /usr/local/server/bms.jar /etc/init.d/bms
3、上述命令执行完全之后,通过下面的命令就可以启动、关闭、重启项目了。
/etc/init.d/bms start /etc/init.d/bms stop /etc/init.d/bms restart
当然,有些人启动的时候,可能会报下面的一个错误,这是权限不足
-bash: /etc/init.d/bms: permission denied
执行下面命令就可解决问题
cd /etc/init.d/ chmod a+x bms 或 chmod 777 bms
二、使用war包方式,通过tomcat启动
1、修改打包方式
<packaging>war</packaging>
2、移除springboot内置tomcat,添加测试tomcat依赖。。修改pom.xml文件
<dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-web</artifactid> <!-- 打包的时候以war包形式,这里要把springboot集成的tomcat去除 --> <exclusions> <exclusion> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> </exclusion> </exclusions> </dependency> <!-- 项目测试需要 --> <dependency> <groupid>org.springframework.boot</groupid> <artifactid>spring-boot-starter-tomcat</artifactid> <scope>provided</scope> </dependency>
3、修改启动类,
在application的同目录下,添加一个新的类,继承springbootservletinitializer并重写其configure方法
代码如下
/** * 修改启动类,继承 springbootservletinitializer 并重写 configure 方法 */ publicclassspringbootstartapplication extends springbootservletinitializer { @override protectedspringapplicationbuilder configure(springapplicationbuilderbuilder) { // 注意这里要指向原先用main方法执行的application启动类 returnbuilder.sources(bootstrap.class); } }
4、将war包放到服务器上的tomcat下,重启即可。。。
三、myeclipse启动
右键单击restfuldemo类->run as->java application
启动完成
如果看到图中红色的提示语,说明项目正常启动,此时在浏览器输入http://localhost:8080/,就能看到“hello world!”的输出。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。