SpringBoot项目部署

windows服务器

Jar包方式
前后端未分离的单体SpringBoot项目,包含有多个子工程

1.用maven打包成jar
项目的根目录下打开命令行终端,运行以下命令以构建整个项目

mvn clean install

2.构建成功后,选取带有控制层的子工程的target目录下的jar文件,执行以下命令

java -jar myproject.jar
war包方式
前后端未分离的单体SpringBoot项目,非父子工程

1.修改打包方式

<packaging>war</packaging>

2.移除spring boot自带的嵌入式tomcat插件

<!--配置springboot框架的起步依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!-- 移除起步依赖中嵌入的tomcat插件 -->
    <exclusions>
        <exclusion>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </exclusion>
    </exclusions>
</dependency>

3.若整合了servlet程序就任选以下三个依赖中的一个导入,没有整合就可以跳过

<dependency>
    <groupId>javax.servlet</groupId>
    <artifactId>javax.servlet-api</artifactId>
    <version>3.1.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.apache.tomcat</groupId>
    <artifactId>tomcat-servlet-api</artifactId>
    <version>8.0.36</version>
    <scope>provided</scope>
</dependency>
<!--   引入springboot框架中内嵌的tomcat,去解析jsp依赖-->
<dependency>
    <groupId>org.apache.tomcat.embed</groupId>
    <artifactId>tomcat-embed-jasper</artifactId>
    <scope>provided</scope>
</dependency>

注意:< scope>provided< /scope>一定不能少,否则后面就会出问题,tomcat无法解析jsp
4.设置war包的名称

    <build>
        <finalName>projectName</finalName>
    </build>

5.若springboot项目中若有jsp页面,必须手动指定最后编译的路径:(没有整合就可以跳过)

<resource>
	<!--源文件位置-->
	<directory>src/main/web</directory>
	<!--指定编译到 META-INF/resources,该目录不能随便写-->
	<targetPath>META-INF/resources</targetPath>
	<!--指定要把哪些文件编译进去,**表示 webapp 目录及子目录,*.*表示所有文件-->
	<includes>
	     <include>*.*</include>
	</includes>
</resource>
<!--    把src/main/resources 下的所有配置文件编译到 classes 下面去-->
<resource>
   	<directory>src/main/resources</directory>
   	<includes>
       <include>**/*.*</include>
	</includes>
</resource>
<!--src/main/java下的 mybatis 的 mapper.xml ,以及所有配置文件编译到 classes 下面去:需要才添加-->
<resource>
    <directory>src/main/java</directory>
    <includes>
        <include>**/*.xml</include>
    </includes>
</resource>

原因:
(1) springboot项目默认推荐使用前端引擎是thymeleaf;
要使用springboot集成jsp,需要手动指定最后编译的路径;
而且springboot集成jsp编译jsp的路径是springboot规定好的位置META-INF/resources

(2) SpringBoot 要求 jsp 文件必须编译到指定的 META-INF/resources 目录下才能访问,否则访问不到。其它官方已经建议使用模版技术

6.修改启动类,并重写初始化方法

/**
 * 修改启动类,继承 SpringBootServletInitializer 并重写 configure 方法
 */
public class SpringBootStartApplication extends SpringBootServletInitializer {

    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
        // 注意这里要指向原先用main方法执行的Application启动类
        return builder.sources(Application.class);
    }
}

7.打包部署
利用maven命令打包
然后将打的war包,复制粘贴到tomcat的webapps目录下(不用解压,启动tomcat自动解压)

8.测试结果,启动tomcat,再访问相关页面
在tomcat安装目录下的bin目录下面找到startup.bat命令,启动tomcat

tips:
部署到tomcat必须加上项目工程名,如:http://localhost:[端口号]/[打包项目名]/

注意:
springboot项目打war包,部署到tomcat中,之前在application.properties文件中设置的上下文根和端口号会失效,要以部署的tomcat为准
项目与tomcat里的端口号最好保持一致

————————————————
参考文章:https://blog.csdn.net/weixin_48033662/article/details/119678317

linux服务器

Jar包部署方式
前后端未分离的单体SpringBoot项目,非多个子工程

1.用maven打包成jar
项目的根目录下打开命令行终端,运行以下命令以构建整个项目

mvn clean install

2.构建成功后,选取带有控制层的子工程的target目录下的jar文件,执行以下命令

java -jar myproject.jar

参考文章:https://blog.csdn.net/wjie8023/article/details/120500797

部署相关

windows机器部署项目后怎么给外网机器用ip访问到

要让外网机器可以通过 IP 访问你的 Windows 机器上部署的项目,需要进行如下步骤:

1.打开 Windows 防火墙的端口:在控制面板中找到“Windows Defender 防火墙”,点击“高级设置”,然后选择“入站规则”。
2.添加新规则:点击“新建规则”,选择“端口”,然后按照项目需要的端口号创建一个新的规则,例如 8080 端口。需要注意的是,如果你的 Spring Boot 项目使用了 HTTPS,则还需要添加 443 端口。
3.允许访问:在“操作”菜单中选择“允许连接”。

完成以上步骤后,就可以通过你的 Windows 机器的公网 IP 加上项目端口号来访问你的 Spring Boot 项目了。例如,如果你的 Windows 机器的公网 IP 是 123.45.67.89,项目使用的端口是 8080,则可以在外网机器上通过浏览器访问 http://123.45.67.89:8080 来访问你的项目。

需要注意的是,通过公网 IP 访问项目会涉及网络安全问题,请确保你已经采取了必要的安全措施,比如使用 HTTPS、设置密码等。

参考文章:Windows怎么让防火墙开放端口:https://blog.csdn.net/qq754772661/article/details/110876957

怎么把java - jar ppp.jar 做成bat可执行文件

1.新建txt文件,在新文件中输入以下内容:

@echo off
java -jar ppp.jar

这个简单的批处理脚本使用 @echo off 命令关闭命令提示符窗口的回显,并通过 java -jar ppp.jar 命令来运行你的 Java 程序。

2.将文件保存为一个以 .bat 结尾的文件名,比如 run_ppp.bat。

现在,你可以双击运行 run_ppp.bat 文件,它会自动执行 java -jar ppp.jar 命令,启动你的 Java 程序。
请确保在运行 .bat 文件之前,已经正确配置了 Java 运行环境,并且 ppp.jar 文件与 .bat 文件处于同一目录下。

重启远程 Linux 主机
sudo reboot

参考文章:https://zhuanlan.zhihu.com/p/637157427

阿里云服务器开放端口

参考文章:https://blog.csdn.net/qq754772661/article/details/110876957

linux版本maven历史版本下载与配置

参考文章:https://blog.csdn.net/qq_46921028/article/details/105425160
参考文章:https://blog.csdn.net/java_18945106612/article/details/90301821
参考文章:https://blog.csdn.net/qq_33499232/article/details/112169631

springboot项目命令行后台常驻运行

当你在终端直接运行java -jar命令启动应用时,默认情况下该进程与终端会话是绑定的。当你关闭SSH会话时,由于没有挂载为守护进程或使用nohup、tmux等工具让其在后台持续运行,操作系统可能会认为此进程不再需要并终止它。

解决方案:可以使用以下命令将Java应用作为守护进程运行:

nohup java -jar your-springboot.jar & 

或者使用systemd服务管理,创建一个systemd服务单元文件,使得应用能够在系统启动时自动运行并在后台保持运行状态。

SpringBoot项目部署阿里云SSL证书-.pfx

参考文章:https://blog.csdn.net/qq_39038178/article/details/119640646

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值