Android

วิธีติดตั้ง wildfly (jboss) บน centos 7

How To Run Wildfly on CentOS 7

How To Run Wildfly on CentOS 7

สารบัญ:

Anonim

WildFly เดิมชื่อ JBoss เป็นแอปพลิเคชันรันไทม์แบบโอเพ่นซอร์สข้ามแพลตฟอร์มที่เขียนขึ้นใน Java ที่ช่วยให้คุณสร้างแอปพลิเคชั่นที่น่าทึ่ง WildFly มีความยืดหยุ่นน้ำหนักเบาและขึ้นอยู่กับระบบย่อยแบบเสียบได้ที่สามารถเพิ่มหรือลบออกได้ตามต้องการ

บทช่วยสอนนี้อธิบายวิธีติดตั้งเซิร์ฟเวอร์แอปพลิเคชัน WildFly บน CentOS 7

ข้อกำหนดเบื้องต้น

คุณจะต้องเข้าสู่ระบบในฐานะผู้ใช้ที่มีการเข้าถึง sudo เพื่อให้สามารถติดตั้งแพ็คเกจบนระบบ CentOS ของคุณ

ขั้นตอนที่ 1: ติดตั้ง Java OpenJDK

WildFly 9 ต้องใช้ Java SE 8 หรือใหม่กว่า ในบทช่วยสอนนี้เราจะติดตั้ง OpenJDK การใช้งานโอเพ่นซอร์สของแพลตฟอร์ม Java ซึ่งเป็นการพัฒนาจาวาเริ่มต้นและรันไทม์ใน CentOS 7

ติดตั้งแพ็คเกจ OpenJDK โดยเรียกใช้:

sudo yum install java-1.8.0-openjdk-devel

ขั้นตอนที่ 2: สร้างผู้ใช้

การเรียกใช้ WildFly ในฐานะผู้ใช้รูทนั้นมีความเสี่ยงด้านความปลอดภัยและไม่ถือว่าเป็นแนวปฏิบัติที่ดีที่สุด

ในการสร้างผู้ใช้และกลุ่มระบบใหม่ชื่อ wildfly พร้อมกับโฮมไดเร็กทอรี /opt/wildfly run:

sudo groupadd -r wildfly sudo useradd -r -g wildfly -d /opt/wildfly -s /sbin/nologin wildfly

ขั้นตอนที่ 3: ติดตั้ง WildFly

ในขณะที่เขียน WildFly เวอร์ชันล่าสุดคือ 16.0.0 ก่อนดำเนินการในขั้นตอนต่อไปคุณควรตรวจสอบหน้าดาวน์โหลดสำหรับเวอร์ชันใหม่ หากมีรุ่นใหม่ให้แทนที่ตัวแปร WILDFLY_VERSION ในคำสั่งด้านล่าง

ดาวน์โหลดไฟล์เก็บถาวร WildFly ในไดเร็กทอรี /tmp โดยใช้คำสั่ง wget ต่อไปนี้:

WILDFLY_VERSION=16.0.0.Final wget https://download.jboss.org/wildfly/$WILDFLY_VERSION/wildfly-$WILDFLY_VERSION.tar.gz -P /tmp

เมื่อการดาวน์โหลดเสร็จสิ้นให้คลายไฟล์ tar.gz แล้วย้ายไปยังไดเร็กทอรี /opt :

sudo tar xf /tmp/wildfly-$WILDFLY_VERSION.tar.gz -C /opt/

ถัดไปสร้างสัญลักษณ์ลิงค์ wildfly ที่จะชี้ไปที่ไดเรกทอรีการติดตั้ง WildFly:

sudo ln -s /opt/wildfly-$WILDFLY_VERSION /opt/wildfly

WildFly จะทำงานภายใต้ผู้ใช้ wildfly ซึ่งจำเป็นต้องเข้าถึงไดเรกทอรีการติดตั้ง WildFly

เปลี่ยนความเป็นเจ้าของไดเรกทอรีเป็นผู้ใช้และกลุ่ม wildfly ด้วยคำสั่ง chown ต่อไปนี้:

sudo chown -RH wildfly: /opt/wildfly

ขั้นตอนที่ 4: กำหนดค่า Systemd

แพ็คเกจ WildFly มีไฟล์ที่จำเป็นในการเรียกใช้บริการ WildFly

เริ่มต้นด้วยการสร้างไดเรกทอรีซึ่งจะเก็บไฟล์การกำหนดค่า WildFly:

sudo mkdir -p /etc/wildfly

คัดลอกไฟล์คอนฟิกูเรชันไปยังไดเร็กทอรี /etc/wildfly :

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.conf /etc/wildfly/

ไฟล์นี้ช่วยให้คุณระบุโหมด WildFly และที่อยู่ผูก โดยค่าเริ่มต้น WildFly จะทำงานในโหมดสแตนด์อโลนและจะฟังในอินเทอร์เฟซทั้งหมด คุณสามารถแก้ไขไฟล์ตามความต้องการของคุณ

/etc/wildfly/wildfly.conf

# The configuration you want to run WILDFLY_CONFIG=standalone.xml # The mode you want to run WILDFLY_MODE=standalone # The address to bind to WILDFLY_BIND=0.0.0.0

ถัดไปคัดลอกสคริปต์ launch.sh ไปยัง launch.sh /opt/wildfly/bin/ :

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/launch.sh /opt/wildfly/bin/

สคริปต์ภายในไดเร็กทอรี bin ต้องมีแฟล็กที่สามารถเรียกทำงานได้:

sudo sh -c 'chmod +x /opt/wildfly/bin/*.sh'

คัดลอกไฟล์ systemd unit ที่มีชื่อไปยังไดเร็กทอรี /etc/systemd/system/ :

sudo cp /opt/wildfly/docs/contrib/scripts/systemd/wildfly.service /etc/systemd/system/

แจ้ง systemd ที่เราสร้างไฟล์หน่วยใหม่:

sudo systemctl daemon-reload

เริ่มบริการ WildFly และเปิดใช้งานโดยอัตโนมัติเมื่อเริ่มต้นระบบโดยเรียกใช้:

sudo systemctl start wildfly sudo systemctl enable wildfly

ตรวจสอบว่าบริการกำลังทำงานอยู่:

sudo systemctl status wildfly

● wildfly.service - The WildFly Application Server Loaded: loaded (/etc/systemd/system/wildfly.service; disabled; vendor preset: disabled) Active: active (running) since Fri 2019-03-01 20:13:39 UTC; 3s ago Main PID: 3680 (launch.sh) CGroup: /system.slice/wildfly.service

ขั้นตอนที่ 5: ปรับไฟร์วอลล์

หากเซิร์ฟเวอร์ของคุณได้รับการป้องกันด้วยไฟร์วอลล์และคุณต้องการเข้าถึงอินสแตนซ์ WildFly จากภายนอกเครือข่ายท้องถิ่นคุณต้องเปิดพอร์ต 8080 ด้วย

ใช้คำสั่งต่อไปนี้เพื่อเปิดพอร์ตที่จำเป็น:

sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp sudo firewall-cmd --reload เมื่อเรียกใช้แอปพลิเคชัน WildFly ในสภาพแวดล้อมการผลิตส่วนใหญ่คุณจะมี load balancer หรือ reverse proxy และเป็นวิธีปฏิบัติที่ดีที่สุดในการ จำกัด การเข้าถึงพอร์ต 8080 เฉพาะเครือข่ายภายในของคุณ

ขั้นตอนที่ 6: กำหนดค่าการรับรองความถูกต้อง WildFly

หลังจากติดตั้งและเรียกใช้ WildFly ในขั้นตอนต่อไปคือการสร้างผู้ใช้ที่จะสามารถเชื่อมต่อโดยใช้คอนโซลการดูแลระบบหรือใช้ CLI จากระยะไกล

ในการเพิ่มผู้ใช้ใหม่ให้ใช้สคริปต์ add-user.sh ที่อยู่ในไดเรกทอรี bin ของ WildFly:

sudo /opt/wildfly/bin/add-user.sh

คุณจะถูกถามว่าต้องการเพิ่มผู้ใช้ประเภทใด:

What type of user do you wish to add? a) Management User (mgmt-users.properties) b) Application User (application-users.properties) (a):

เลือกและกด Enter :

ถัดไปสคริปต์จะแจ้งให้คุณป้อนรายละเอียดของผู้ใช้ใหม่:

Enter the details of the new user to add. Using realm 'ManagementRealm' as discovered from the existing property files. Username: linuxize Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file. - The password should be different from the username - The password should not be one of the following restricted values {root, admin, administrator} - The password should contain at least 8 characters, 1 alphabetic character(s), 1 digit(s), 1 non-alphanumeric symbol(s) Password: Re-enter Password: What groups do you want this user to belong to? (Please enter a comma separated list, or leave blank for none): About to add user 'linuxize' for realm 'ManagementRealm' Is this correct yes/no? yes Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-users.properties' Added user 'linuxize' to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-users.properties' Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/standalone/configuration/mgmt-groups.properties' Added user 'linuxize' with groups to file '/opt/wildfly-16.0.0.Final/domain/configuration/mgmt-groups.properties' Is this new user going to be used for one AS process to connect to another AS process? eg for a slave host controller connecting to the master or for a Remoting connection for server to server EJB calls. yes/no? yes To represent the user add the following to the server-identities definition

ผู้ใช้ใหม่จะถูกเพิ่มไปยังไฟล์คุณสมบัติที่ใช้สำหรับการตรวจสอบ

ขั้นตอนที่ 6: ทดสอบการติดตั้ง WildFly

หากต้องการเข้าถึงหน้า WildFly ที่เป็นค่าเริ่มต้นให้เปิดเบราว์เซอร์ของคุณและพิมพ์: http://:8080 http://:8080

สมมติว่าการติดตั้งสำเร็จแล้วหน้าจอที่คล้ายกับข้อความต่อไปนี้จะปรากฏขึ้น:

เปิด wildfly.conf และผนวก WILDFLY_CONSOLE_BIND=0.0.0.0 ที่ท้ายไฟล์

/etc/wildfly/wildfly.conf

# The configuration you want to run WILDFLY_CONFIG=standalone.xml # The mode you want to run WILDFLY_MODE=standalone # The address to bind to WILDFLY_BIND=0.0.0.0 # The address console to bind to WILDFLY_CONSOLE_BIND=0.0.0.0

เปิด launch.sh และแก้ไขบรรทัดที่ไฮไลต์:

/opt/wildfly/bin/launch.sh

#!/bin/bash if; then WILDFLY_HOME="/opt/wildfly" fi if]; then $WILDFLY_HOME/bin/domain.sh -c $2 -b $3 -bmanagement $4 else $WILDFLY_HOME/bin/standalone.sh -c $2 -b $3 -bmanagement $4 fi

เริ่มบริการใหม่เพื่อให้การเปลี่ยนแปลงมีผล:

sudo systemctl restart wildfly

เปิด wildfly.service และแก้ไขบรรทัดที่ไฮไลต์:

/etc/systemd/system/wildfly.service

Description=The WildFly Application Server After=syslog.target network.target Before=httpd.service Environment=LAUNCH_JBOSS_IN_BACKGROUND=1 EnvironmentFile=-/etc/wildfly/wildfly.conf User=wildfly LimitNOFILE=102642 PIDFile=/var/run/wildfly/wildfly.pid ExecStart=/opt/wildfly/bin/launch.sh $WILDFLY_MODE $WILDFLY_CONFIG $WILDFLY_BIND $WILDFLY_CONSOLE_BIND StandardOutput=null WantedBy=multi-user.target

สร้างไดเร็กทอรี /var/run/wildfly และตั้งค่าการอนุญาตที่ถูกต้อง:

sudo mkdir /var/run/wildfly/ sudo chown wildfly: /var/run/wildfly/

แจ้ง systemd ว่าไฟล์หน่วยนั้นมีการเปลี่ยนแปลง:

sudo systemctl daemon-reload

เริ่มบริการ WildFly ใหม่โดยดำเนินการ:

sudo systemctl restart wildfly

สมมติว่าพอร์ต 9990 ไม่ได้ถูกบล็อกในไฟร์วอลล์ของคุณคุณควรจะสามารถเข้าถึงคอนโซลการดูแลระบบ WildFly ได้ที่ http://:9990/console http://:9990/console

ข้อสรุป

คุณติดตั้ง WildFly บนระบบ CentOS 7 สำเร็จแล้ว ตอนนี้คุณสามารถเยี่ยมชมเอกสาร WildFly อย่างเป็นทางการและเรียนรู้เพิ่มเติมเกี่ยวกับคุณสมบัติ WildFly

java wildfly centos