阿里云服务器部署SpringBoot项目

在个人windows系统下,部署项目分以下几步:

(1)连接阿里云服务器

(2)将本地java程序的prod配置文件参数配置为服务器的路径、数据库等

(3)项目打包

(4)项目部署运行

(5)部署后访问遇到的问题及解决办法

1、SpringBoot中使用jsp部署后无效

2、部署后,linux中外部磁盘中静态文件无法获取。

3、该进程已存在【若启动项目 出现   java.net.BindException: 地址已在使用   报错】


(1)连接阿里云服务器

使用SecureCRT或者Xshell等终端仿真程序远程连接阿里云服务器,连接后就是一台linux系统的电脑,配置项目所需环境。

(2)将本地java程序的prod配置文件参数配置为服务器的路径、数据库等

将application.properties文件指向prod,或者打包时直接配置环境为prod的包,然后将application-prod.properities中的tomcat端口;数据库url、端口、用户名、密码;外部文件路径 等都配置为服务器对应项。

阿里云服务器部署SpringBoot项目_第1张图片

(3)项目打包

SpringBoot项目可以打jar包独立运行,也可以打war包丢到tomcat下运行。这里推荐打jar包,在本地终端中cd到项目所在目录,然后使用命令:mvn clean package -Dmaven.test.skip=true。使用jar包去服务器上自己跑,需要避开其他已经使用的所有端口,包括tomcat(例如3306),而这个端口需要在阿里云官网界面上开放,否则会被防火墙拦截。

 

如果不想每次打包时都要更换配置项,可以打包时添加参数直接打包prod环境。

maven多环境打包:

在pom.xml的标签下设置如下配置项


    
        
            dev
            
                dev
            
        
        
            test
            
                true
            
            
                test
            
        
        
            prod
            
                prod
            
        
    

配置好后,就支持多环境打包了,在原有打包命令结尾,添加-P+环境,例如:mvn clean package -Dmaven.test.skip=true -Ptest,在结尾加了-Ptest,就是直接打包测试环境。

(4)项目部署运行

常规运行jar项目的方法是java -jar xxx.jar

阿里云服务器部署SpringBoot项目_第2张图片

看到上图亲切的界面你以为就是起来了?但是当你退出当前命令或者关闭终端,连接就会断掉。所以必须使用常驻命令:nohup java -jar xxx.jar &,最后一个&表示执行命令后要生成日志文件nohup.out。

(5)部署后访问遇到的问题及解决办法

1、SpringBoot中使用jsp部署后无效

不知为何,打包版本只有1.4.2.RELEASE支持jsp访问。在pom.xml中做如下配置方可:


    org.springframework.boot
    spring-boot-maven-plugin
    1.4.2.RELEASE

2、部署后,linux中外部磁盘中静态文件无法获取。

只需要在application.properties中配置:spring.resources.static-locations=file:F:\\test,file:/data/test

不论是windows环境还是linux环境,前面都要加上file:,上述配置以逗号分隔,第一个是windows环境,第二个是linux环境。

3、该进程已存在【若启动项目 出现   java.net.BindException: 地址已在使用   报错】

ps -ef|grep java,拿到进程ID,然后kill - 9 PID;再启动

阿里云服务器部署SpringBoot项目_第3张图片

借鉴文章:https://www.cnblogs.com/liuxiaoming123/p/8044434.html

我的另一篇文章:【SpringBoot项目Mybatis连接MySQL以及前端访问文件配置】https://blog.csdn.net/qq_26012495/article/details/81260120

你可能感兴趣的:(Java,阿里云服务器,SpringBoot,部署)