欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SpringBoot《jar包部署、war包部署》

程序员文章站 2022-07-03 11:29:32
...

一、jar包部署

1、打war包

SpringBoot《jar包部署、war包部署》

2、开放端口

检查防火墙状态

 firewall-cmd --state

running 表示防火墙是开启的,如果你看到的是 not running,防火墙关闭,需要开启 systemctl start firewalld.service

开放 8080 端口

firewall-cmd --zone=public --add-port=8080/tcp --permanent

重启防火墙

systemctl restart firewalld.service

重新载入配置

 firewall-cmd --reload

3、部署

把在项目的target目录下的war包上传到服务器,然后运行命令:

进入目录 cd apache-tomcat-9.0.34/bin
再执行启动命令 ./startup.sh
(首先确保tomcat已经启动了)

一次启动:

java -jar demo.jar

后台一直启动:

nohup java -jar test.jar >logs.txt 2>&1 &

其他命令:

查询到进程号: ps -ef | grep java

杀死进程: kill -s 9 xxx

查询具体项目的进程: ps aux | grep test.jar

二、war包部署

1、修改pom.xml

 <packaging>war</packaging>

SpringBoot《jar包部署、war包部署》
并增加tomcat依赖:

        <!-- tomcat -->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-tomcat</artifactId>
        </dependency>

SpringBoot《jar包部署、war包部署》

2、修改启动类

SpringBoot《jar包部署、war包部署》

public class XrtweetApplication extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(XrtweetApplication.class, args);
    }

    //打war包,外部服务器部署
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder springApplicationBuilder){
        return springApplicationBuilder.sources(XrtweetApplication.class);
    }

}

3、打war包

SpringBoot《jar包部署、war包部署》
然后会在项目的target目录下生成war包,右键选择在文件夹显示

SpringBoot《jar包部署、war包部署》

4、部署

把生成的war包放到tomcat的webapps目录下即可

5、修改服务器的tomcar配置

cd /usr/local/tomcat/apache-tomcat-9.0.34/conf
vim server.xml

然后新增一个Service配置

SpringBoot《jar包部署、war包部署》
SpringBoot《jar包部署、war包部署》

  <Service name="Catalina1">

    <Connector port="8021" protocol="HTTP/1.1"
               connectionTimeout="20000"
               redirectPort="8443" />

    <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

    <Engine name="Catalina1" defaultHost="localhost">


      <Realm className="org.apache.catalina.realm.LockOutRealm">

        <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
               resourceName="UserDatabase"/>
      </Realm>

      <Host name="localhost"  appBase="webapps"
            unpackWARs="true" autoDeploy="true">


        <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
               prefix="localhost_access_log." suffix=".txt"
               pattern="%h %l %u %t &quot;%r&quot; %s %b" />

         
		 <Context path="/" docBase="xrtweet-2" debug="0" reloadable="true"/>

      </Host>
    </Engine>
  </Service>

保存退出

6、重启tomcat

/usr/local/tomcat/apache-tomcat-9.0.34/bin

关闭

./shutdown.sh

启动

./startup.sh

7、访问8021端口

需要在阿里云后台管理-安全组-添加规则-新增一个8021端口访问权限。接着在浏览器输入:

http://外网ip:8021/就能访问了