wildfly部署springboot项目
参考地址
https://blog.csdn.net/wo541075754/article/details/103066870?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522164891363816780271917743%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=164891363816780271917743&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2allsobaiduend~default-1-103066870.142v5control,157v4control&utm_term=springboot%E9%83%A8%E7%BD%B2wildfly&spm=1018.2226.3001.4187
背景
公司项目部署方式是 springboot 打 war 包 部署到 wildfly 服务器
之前只接触过 tomcat , 没有接触到 wildfly , 把基础的操作流程记下 , 作为备忘录
现在进入容器化时代 , 一般项目都是打 jar 包 ,所以不需要很深入的需要了解 wildfly 这个技术
测试环境
云服务器(腾讯云)
2C 4G
下载wildfly安装包
下载地址
https://www.wildfly.org/downloads/
选择 linux 版本 , 软件版本选择 20.0.1.Final , 下载格式 为 tgz
wildfly-20.0.1.Final.tar.gz
下载命令
wget https://download.jboss.org/wildfly/20.0.1.Final/wildfly-20.0.1.Final.tar.gz
准备好测试war包
说明:
该 war 包是 springboot 项目打的 war 包
写了一个简单的 controller
idea 运行 , 访问 localhost:8080
返回简单的json数据
{"msg":"springboot deploy by jboss wildfly","server":"wildfly"}
最重要的就是 pom.xml 文件的配置 , 具体我贴出来
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
</parent>
<modelVersion>4.0.0</modelVersion>
<packaging>war</packaging>
<groupId>com.shaoming</groupId>
<artifactId>springboot-wildfly</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<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-undertow</artifactId>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
</dependency>
</dependencies>
<build>
<finalName>mvc</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
对应的 controller 我也贴出来
package com.shaoming;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.HashMap;
import java.util.Map;
@RestController
public class HelloController {
@RequestMapping("/")
public Map hello(){
HashMap<String, String> map = new HashMap<>();
map.put("server","wildfly");
map.put("msg","springboot deploy by jboss wildfly");
return map;
}
}
打包
在项目根路径使用 maven 打包
mvn clean package
最后在 target 目录有 mvc.war 的文件 , 这就是打包好的 war 包
上传war包
上传war包的路径为:
${wifldfly-home}/standalone/deployments/
配置wildfly允许外网访问
需要修改的配置文件
vim ${wifldfly-home}/standalone/configuration/standalone.xml
<interfaces>
<interface name="management">
<inet-address value="${jboss.bind.address.management:127.0.0.1}"/>
</interface>
<interface name="public">
<inet-address value="${jboss.bind.address:0.0.0.0}"/>
</interface>
</interfaces>
启动wildfly
到执行命令的目录
${wifldfly-home}/bin
执行命令
nohup sh standalone.sh
说明:
只要不报错项目启动成功
访问
我们通过外网进行访问
ip:8080/mvc
返回json数据
{"msg":"springboot deploy by jboss wildfly","server":"wildfly"}
停止wildfly
到执行命令的目录
${wifldfly-home}/bin
执行命令
./jboss-cli.sh --connect command=:shutdown
如果不能访问 ip:8080/mvc , 那么 wildfly 停止成功
到此 , wilfly 基本使用到此结束
补充说明
在官网我顺便下载了wildfly-servlet-20.0.1.Final.tar.gz 进行了测试
同理 , 也是可以的
|