ค้นหาเว็บไซต์

WildFly 8 - แอปพลิเคชันเซิร์ฟเวอร์ JBoss ที่ได้รับการปรับปรุงใหม่สำหรับ Linux


ดังที่เราทุกคนทราบดีว่า JBoss AS ได้รับการเปลี่ยนชื่อเป็น WildFly มีการเพิ่มคุณสมบัติใหม่มากมายและมีการอัปเกรดมากมาย ในที่สุด WildFly 8.0.0 Final ก็เปิดตัวแล้วเมื่อวันที่ 11.2014 กุมภาพันธ์ หัวหน้า Jason Greene โครงการ WildFly ประกาศเช่นเดียวกัน

WildFly 8 เป็นเซิร์ฟเวอร์แอปพลิเคชันโอเพ่นซอร์สที่สอดคล้องกับ Red Hat Java EE 7 คุณสมบัติหลักมีดังนี้:

ความเข้ากันได้ของ Java EE 7

การเปลี่ยนแปลงครั้งใหญ่ที่สุดคือตอนนี้ WildFly 8 ได้รับการรับรอง Java EE7 อย่างเป็นทางการแล้ว

เว็บเซิร์ฟเวอร์ประสิทธิภาพสูง

Undertow เป็นเว็บเซิร์ฟเวอร์ประสิทธิภาพสูงตัวใหม่ที่เขียนด้วยภาษา Java ตอนนี้สิ่งนี้ได้ถูกนำไปใช้ใน WildFly 8 แล้ว ซึ่งได้รับการออกแบบมาจริงๆ เพื่อให้ได้ปริมาณงานสูงและความสามารถในการขยายขนาด และสามารถรองรับการเชื่อมต่อนับล้านได้ วงจรชีวิตของ Undertow ถูกควบคุมโดยแอปพลิเคชันแบบฝังอย่างสมบูรณ์ สิ่งนี้มีน้ำหนักเบามากด้วย core jar ที่มีขนาด 1MB และเซิร์ฟเวอร์แบบฝังที่ใช้พื้นที่ฮีปน้อยกว่า 4MB นี่เป็นสิ่งที่ดีจริงๆ

3การลดพอร์ต

เนื่องจากใช้ Undertow ซึ่งรองรับการอัพเกรด HTTP ซึ่งจะอนุญาตให้หลายโปรโตคอลสามารถมัลติเพล็กซ์ผ่านพอร์ต HTTP เดียว WildFly 8 ได้ย้ายโปรโตคอลเกือบทั้งหมดให้เป็นมัลติเพล็กซ์บนพอร์ต HTTP สองพอร์ต: พอร์ตหนึ่งคือการจัดการ และอีกพอร์ตหนึ่งคือพอร์ตแอปพลิเคชัน นี่เป็นการเปลี่ยนแปลงครั้งใหญ่และเป็นประโยชน์ต่อผู้ให้บริการระบบคลาวด์ (เช่น OpenShift) ที่ใช้งานอินสแตนซ์นับร้อยนับพันรายการบนเซิร์ฟเวอร์เครื่องเดียว โดยรวมแล้ว มีพอร์ตเริ่มต้นสองพอร์ตสำหรับการกำหนดค่า ได้แก่ 9990 (Web Administration Console) และ 8080 (Application Console)

การควบคุมการเข้าถึงและการตรวจสอบตามบทบาทการจัดการ

นี่คือสิ่งใหม่และน่าสนใจที่นำมาใช้ใน WildFly 8 ด้วยการใช้สิ่งนี้ เราสามารถสร้างผู้ใช้ที่แตกต่างกัน และสามารถมอบหมายผู้ใช้เหล่านั้นให้กับบทบาทที่แตกต่างกันได้ตามความต้องการ ฉันจะแสดงให้คุณดูในภายหลังพร้อมภาพหน้าจอ

การบันทึก

API การจัดการรองรับความสามารถในการแสดงรายการและดูไฟล์บันทึกที่มีอยู่บนเซิร์ฟเวอร์แล้ว ตอนนี้ เรามีแอตทริบิวต์ที่เรียกว่า “add-logging-api-dependencies” สำหรับการปรับใช้ทุกประเภทที่เราต้องการข้ามการบันทึกคอนเทนเนอร์ การดำเนินการนี้จะปิดใช้งานการเพิ่มการขึ้นต่อกันของการบันทึกเซิร์ฟเวอร์โดยนัย เรามีทางเลือกอื่นคือ เราสามารถใช้ jboss-deployment-structor.xml เพื่อแยกระบบย่อยการบันทึกได้ การใช้สิ่งนี้จะช่วยหยุดระบบย่อยการบันทึกไม่ให้ผ่านการปรับใช้ใดๆ

นอกจากนี้เรายังสามารถใช้พารามิเตอร์อื่นได้ เช่น use-deployment-logging-config สำหรับการเปิด/ปิดใช้งานการประมวลผลไฟล์การกำหนดค่าการบันทึกภายในการปรับใช้

หมายเหตุ: คุณสมบัติระบบที่เราใช้สำหรับการปิดใช้งานต่อการบันทึกได้เลิกใช้แล้วในเวอร์ชันนี้

การจัดกลุ่ม

การเปลี่ยนแปลงครั้งใหญ่อีกครั้งหนึ่งคือการรวมกลุ่มกัน คุณสมบัติทั้งหมดที่เกี่ยวข้องกับการรองรับการทำคลัสเตอร์มีการเปลี่ยนแปลงใน WildFly 8 และคุณสมบัติเหล่านี้มีดังนี้:

  1. เซสชันเว็บแบบกระจายได้รับการปรับให้เหมาะสมด้วยเว็บเซิร์ฟเวอร์ที่ใช้ Java ใหม่ เช่น Undertow
  2. รองรับ mod_cluster สำหรับ Undertow
  3. เพิ่มประสิทธิภาพความสามารถ Distributed SSO (Single Sign-On) และการสนับสนุน Undertow
  4. ใหม่/ปรับให้เหมาะสมการใช้งานแคช @Stateful EJB แบบกระจาย
  5. WildFly 8 เพิ่ม API การทำคลัสเตอร์สาธารณะใหม่
  6. สำหรับการสร้างบริการซิงเกิลตันนั้นจะมี API สาธารณะใหม่
การปรับปรุง CLI

การกำหนดค่า CLI ได้รับการปรับปรุงด้วย คุณรู้ไหมว่าผู้ดูแลระบบทุกคนชอบที่จะทำงานกับ CLI ;) ตอนนี้เราสามารถสร้างนามแฝงสำหรับเซิร์ฟเวอร์เฉพาะแล้วใช้นามแฝงนั้นได้ทุกเมื่อที่ต้องการเชื่อมต่อกับเซิร์ฟเวอร์นั้นโดยใช้คำสั่งเชื่อมต่อ

ยังมีการปรับปรุงและการอัปเดตมากมายใน WildFly 8 คุณสามารถตรวจสอบทั้งหมดนี้ได้ที่:

  1. http://wildfly.org/news/2014/02/11/WildFly8-Final-Released/

การติดตั้ง WildFly 8 ใน Linux

ก่อนที่จะดำเนินการติดตั้งต่อ ตรวจสอบให้แน่ใจว่าคุณได้ติดตั้ง Java EE 7 ไว้ในระบบของคุณแล้ว WildFly 8 จะไม่ทำงานกับการแก้ไขครั้งก่อน โปรดปฏิบัติตามคำแนะนำด้านล่างเพื่อติดตั้ง Java EE 7 ในระบบ Linux

  1. ติดตั้ง JDK/JRE 7u25 ใน Linux

ขั้นตอนที่ 1: ดาวน์โหลด WildFly 8

ใช้ลิงก์ต่อไปนี้เพื่อดาวน์โหลดไฟล์ zip WildFly ล่าสุด

  1. http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip

คุณอาจใช้คำสั่ง 'wget' เพื่อดาวน์โหลดโดยตรงบนบรรทัดคำสั่ง

[root@tecmint]# wget http://download.jboss.org/wildfly/8.0.0.Final/wildfly-8.0.0.Final.zip

คัดลอกไฟล์ zip ไปยังตำแหน่งที่ต้องการ (เช่น '/data/' ในกรณีของฉัน) และแตกไฟล์โดยใช้คำสั่ง 'unzip'

[root@tecmint]# cp wildfly-8.0.0.Final.zip /data/
[root@tecmint]# cd /data/
[root@tecmint data]# unzip wildfly-8.0.0.Final.zip

ขั้นตอนที่ 2: การตั้งค่าตัวแปรสภาพแวดล้อม

ตอนนี้ตั้งค่าตัวแปรสภาพแวดล้อมบางส่วน คุณสามารถตั้งค่าเหล่านี้ในระบบหรือภายในไฟล์การกำหนดค่าของคุณ ที่นี่ฉันกำลังตั้งค่าภายในไฟล์การกำหนดค่า standalone.sh และ standalone.conf ในโฟลเดอร์ 'bin'

[root@tecmint data]# cd wildfly-8.0.0.Final
[root@tecmint data]# cd bin/

เพิ่มสองบรรทัดต่อไปนี้ในไฟล์ standlone.sh/standlone.conf โปรดระบุตำแหน่งการติดตั้ง WildFly และตำแหน่ง Java Home ของคุณ

JBOSS_HOME=”/data/wildfly-8.0.0.Final”
JAVA_HOME=”/data/java/jre7/bin/java”

หมายเหตุ: สำหรับทั้งระบบ คุณสามารถตั้งค่าไว้ภายใต้ไฟล์ '/etc/profile'

ขั้นตอนที่ 3: เริ่มต้น WildFly 8

ตอนนี้เริ่มต้นเซิร์ฟเวอร์ เช่น สำหรับโหมดสแตนด์อโลน ให้ใช้ 'standalone.sh' และสำหรับโหมดโดเมน ให้ใช้ 'domain.sh'

[root@tecmint bin]# ./standalone.sh
[root@tecmint bin]# ./domain.sh

แต่ที่นี่ฉันกำลังเริ่มต้นในโหมดสแตนด์อโลน โดยค่าเริ่มต้นจะเริ่มต้นด้วยไฟล์ 'standalone.xml' แต่คุณยังสามารถเริ่มต้นด้วยการกำหนดค่าอื่น ๆ โดยใช้ตัวเลือก '–server-config'

ด้านล่างนี้ฉันกำลังเริ่มต้นเซิร์ฟเวอร์ด้วย 'standalone-full-ha.xml' และไฟล์นี้มีอยู่ใน “$JBOSS_HOME/standalone(profile)/configuration/ ”

[root@tecmint bin]# ./standalone.sh --server-config standalone-full-ha.xml
ผลลัพธ์ตัวอย่าง
Calling "/data/wildfly-8.0.0.Final/standalone/configuration/standalone.conf"
Setting JAVA property to "/data/java/jre7/bin/java"
===============================================================================

  JBoss Bootstrap Environment

  JBOSS_HOME: "/data/wildfly-8.0.0.Final"

  JAVA: "/data/java/jre7/bin/java"

  JAVA_OPTS: "-client -Dprogram.name=standalone.sh -Xms64M -Xmx512M -XX:MaxPerm
Size=256M -Djava.net.preferIPv4Stack=true -Djboss.modules.system.pkgs=org.jboss.byteman"

===============================================================================

13:55:26,403 INFO  [org.jboss.modules] (main) JBoss Modules version 1.3.0.Final
13:55:33,812 INFO  [org.jboss.msc] (main) JBoss MSC version 1.2.0.Final
13:55:35,481 INFO  [org.jboss.as] (MSC service thread 1-1) JBAS015899: WildFly 8.0.0.Final "WildFly" starting
13:55:58,646 INFO  [org.jboss.as.server] (Controller Boot Thread) JBAS015888: Creating http management service using socket-binding (management-http)
...........
13:56:22,778 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015961: Http management interface listening on http://127.0.0.1:9990/management
13:56:22,794 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015951: Admin console listening on http://127.0.0.1:9990
13:56:22,794 INFO  [org.jboss.as] (Controller Boot Thread) JBAS015874: WildFly 8.0.0.Final "WildFly" started in 64534ms - Started 229 of 356 services (172 services are lazy, passive or on-demand)

ขั้นตอนที่ 4: การเข้าถึง WildFly 8

ตอนนี้คุณสามารถชี้เบราว์เซอร์ของคุณไปที่ 'http://localhost:8080' (หากใช้พอร์ต http ที่กำหนดค่าเริ่มต้น) ซึ่งจะนำคุณไปยังหน้าจอต้อนรับ

จากที่นี่ คุณสามารถเข้าถึงคู่มือเอกสารชุมชน WildFly และการเข้าถึงคอนโซลการดูแลระบบบนเว็บที่ได้รับการปรับปรุง

ขั้นตอนที่ 5: การจัดการ WildFly 8

WildFly 8 มีคอนโซลผู้ดูแลระบบสองคอนโซลสำหรับจัดการอินสแตนซ์ที่ทำงานอยู่:

    1. คอนโซลการดูแลระบบบนเว็บ
    2. อินเทอร์เฟซบรรทัดคำสั่ง

ก่อนที่จะเชื่อมต่อกับคอนโซลการดูแลระบบหรือใช้บรรทัดคำสั่งจากระยะไกล คุณจะต้องสร้างผู้ใช้ใหม่โดยใช้สคริปต์ 'add-user.sh' ในโฟลเดอร์ bin

จากนั้น ไปที่ไดเร็กทอรี 'bin' ตั้งค่า 'JBOSS_HOME' ใน add-user.sh (หากไม่ได้ตั้งค่าตัวแปรบนฐานระบบ) และสร้างผู้ใช้ตามด้านล่างนี้

[root@tecmint 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 the details of the new user to add.
Using realm 'ManagementRealm' as discovered from the existing property files.
Username : admin
The username 'admin' is easy to guess
Are you sure you want to add user 'admin' yes/no? yes
Password recommendations are listed below. To modify these restrictions edit the add-user.properties configuration file.
 - The password should not be one of the following restricted values {root, admin, administrator}
 - The password should contain at least 8 characters, 1 alphanumeric character(s), 1 digit(s), 1 non-alphanumeric symbol(s)
 - The password should be different from the username
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 'admin' for realm 'ManagementRealm'
Is this correct yes/no? yes
Added user 'admin' to file '/data/wildfly-8.0.0.Final/standalone/configuration/mgmt-users.properties'
Added user 'admin' to file /data/wildfly-8.0.0.Final/domain/configuration/mgmt-users.properties'
Added user 'admin' with groups  to file /data/wildfly-8.0.0.Final/standalone/configuration/mgmt-groups.properties'
Added user 'admin' with groups  to file /data/wildfly-8.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?
e.g. 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 
Press any key to continue . . .

ขณะนี้เข้าถึงคอนโซลการดูแลระบบบนเว็บได้ที่ 'http://localhost:9990/console' และป้อนชื่อผู้ใช้และรหัสผ่านที่สร้างขึ้นใหม่เพื่อเข้าถึงคอนโซลการจัดการโดยตรง

หน้าจอแรกหลังจากเข้าสู่ระบบ

หากคุณต้องการจัดการเซิร์ฟเวอร์ของคุณจาก CLI ให้เรียกใช้สคริปต์ 'jboss-cli.sh' จากไดเร็กทอรี 'bin' ที่นำเสนอ ความสามารถเดียวกันนี้มีให้ใช้งานผ่าน UI บนเว็บ

[root@tecmint bin]# cd bin
[root@tecmint bin]# ./jboss-cli.sh --connect
Connected to standalone controller at localhost:9999

หากต้องการข้อมูลเพิ่มเติม โปรดปฏิบัติตามเอกสารอย่างเป็นทางการของ WildFly 8 ที่ https://docs.jboss.org/author/display/WFLY8/Documentation

อ่านเพิ่มเติม : WildFly (JBoss AS) – วิธีการเข้าถึงและจัดการ CLI โดยใช้ GUI