IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Java知识库 -> wildfly部署springboot项目 -> 正文阅读

[Java知识库]wildfly部署springboot项目

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>
    <!--打jar包注释该代码即可-->
    <packaging>war</packaging>
    <groupId>com.shaoming</groupId>
    <artifactId>springboot-wildfly</artifactId>
    <version>1.0-SNAPSHOT</version>
    <dependencies>
        <!-- springboot web依赖 -->
        <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;

/**
 停止服务器命令
 ./jboss-cli.sh --connect command=:shutdown
 启动服务器命令
 nohup sh standalone.sh
 */
@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">
            <!-- 修改 127.0.0.1 为 0.0.0.0 可以外网访问 -->
            <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 进行了测试

同理 , 也是可以的

  Java知识库 最新文章
计算距离春节还有多长时间
系统开发系列 之WebService(spring框架+ma
springBoot+Cache(自定义有效时间配置)
SpringBoot整合mybatis实现增删改查、分页查
spring教程
SpringBoot+Vue实现美食交流网站的设计与实
虚拟机内存结构以及虚拟机中销毁和新建对象
SpringMVC---原理
小李同学: Java如何按多个字段分组
打印票据--java
上一篇文章      下一篇文章      查看所有文章
加:2022-04-04 11:57:16  更:2022-04-04 12:01:39 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 7:54:57-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码