【Docker&Wildfly】(bitnami/wildfly)如何從零開始創建網頁伺服器

URL Link //n.sfs.tw/16411

2024-05-22 03:19:03 By 過路君子

大家好,這裡是還在堅持使用 Java 的小編過路君子

距離上一篇純 Wildfly 文章已經過去兩年了,至今小編仍未投入 Apache 的懷抱。

 

 

為什麼開頭要強調純 Wildfly 文章呢?這是因為在【Wildfly/jBoss】[Linux] 如何從無到有建立Wildfly網頁伺服器這篇文章之後。

有很長一段時間小編都是 Wildfly 和 Wicket 一起混寫,基本上沒有再為 Wildfly 單獨撰寫一篇文章。

而今天,小編久違的回來幫 Wildfly 來寫一篇有關設定的文章了。

 

照慣例小編在這裡先丟出軟體版本的一覽表:

軟體名稱 版本
Wildfly 32.0.0.Final
Docker 25.0.4
Docker Compose v2.24.7

真的很難想像,小編上一篇文章的 Wildfly 版本還是 24.0.1.Final 呢。

 

Step 1. 創建新目錄

拿來放 docker-compose.yml 和 Wildfly 資料的地方。

cd ~
mkdir -p ./wildfly/storage
cd ./wildfly
touch docker-compose.yml

(所有圖片點擊都可以放大、變高清)

 

Step 2. 填入設定

打開 docker-compose.yml 並將以下內容貼入:

version: "3.8"

services:
    wildfly:
        image: bitnami/wildfly:32
        volumes:
            - ./storage:/bitnami/wildfly
        ports:
            - 8080:8080
            - 9990:9990
        environment:
            - WILDFLY_USERNAME=username
            - WILDFLY_PASSWORD=password
            - WILDFLY_MANAGEMENT_LISTEN_ADDRESS=0.0.0.0
        container_name: wildfly

管理頁面(9990埠)預設是只接受本機連線的,上面小編調整將其向任意 IP 開放連線。

使用這帳號密碼記得設定強一點,免得過幾天網頁給人劫持去了。

 

Step 3. 啟動

docker-compose up -d

docker compose up -d

基本上只要看到管理介面有成功開始聆聽就沒問題了。

 

如果在啟動的時候遇到以下的錯誤:

java.lang.IllegalStateException: WFLYSRV0124: Could not create server data directory: /bitnami/wildfly/standalone/data
     at org.jboss.as.server@24.0.0.Final//org.jboss.as.server.ServerEnvironment.<init>(ServerEnvironment.java:432)
     at org.jboss.as.server@24.0.0.Final//org.jboss.as.server.Main.determineEnvironment(Main.java:414)
     at org.jboss.as.server@24.0.0.Final//org.jboss.as.server.Main.main(Main.java:80)
     at org.jboss.modules.Module.run(Module.java:345)
     at org.jboss.modules.Module.run(Module.java:313)
     at org.jboss.modules.Main.main(Main.java:603)
18:40:37,650 FATAL [org.jboss.as.server] (main) WFLYSRV0239: Aborting with exit code 1

執行以下指令並再次啟動就可以了:

chmod 777 ./storage

 

Step 4. Link Start

打開瀏覽器並連線至 8080 埠就可以看到我們的 Wildfly 被成功啟動了喔!

http://your-ip:8080

順帶一提,要到管理頁面的話將上方的 8080 改為 9990 即可。

 

 

 

後記

之前都是拿 Wildfly 做網頁伺服器而已,這次小編應該會將其改造成 rest server 來玩玩。

因為用其他協議來傳輸圖片等等的資源太容易被防火牆攔下來,用 rest server 基本上就能穿透大部分的防火牆了,當然某些高科技產業公司的防火牆除外。