目录
一、jar包部署
1、打jar包
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
4、打jar包到仓库
<configuration>
<skip>true</skip>
</configuration>
二、war包部署
1、修改pom.xml
<packaging>war</packaging>
并增加tomcat依赖:
<!-- tomcat -->
<!-- tomcat -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</dependency>
<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
并移除嵌入式tomcat插件
<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>
2、修改启动类
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包
然后会在项目的target目录下生成war包,右键选择在文件夹显示
4、部署
把生成的war包放到tomcat的webapps目录下即可
5、修改服务器的tomcar配置
cd /usr/local/tomcat/apache-tomcat-9.0.34/conf
vim server.xml
然后新增一个Service配置
<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 "%r" %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/就能访问了