Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
อินเทอร์เฟซการจัดการใน Wildfly ได้รับการรักษาความปลอดภัยตามค่าเริ่มต้นเพื่อป้องกันการละเมิดความปลอดภัยจากระบบระยะไกล การเข้าถึงที่ไม่ใช่ HTTP แบบโลคัลได้รับการป้องกันโดยกลไก SASL ซึ่งประกอบด้วยการเจรจาระหว่างไคลเอ็นต์และเซิร์ฟเวอร์เมื่อไคลเอ็นต์เชื่อมต่อเป็นครั้งแรกจากโลคัลโฮสต์ ในการเข้าถึงคอนโซลการดูแลระบบ Wildfly คุณต้องลงทะเบียนผู้ใช้ผู้ดูแลระบบดังนี้
เปิด command prompt ใน <JBOSS_HOME>/bin directory. Enter ./add-user[.sh|.bat] <username> <password> <ManagementRealm>
หลังจากกำหนดค่าผู้ใช้ผู้ดูแลระบบ Wildfly ให้รีสตาร์ทเซิร์ฟเวอร์แอพพลิเคชันตรวจสอบโดยเข้าสู่ระบบคอนโซลการจัดการ Wildfly กับผู้ใช้ที่เป็นผู้ดูแลระบบ
http://(IP Address):9990
ระบบจะเปลี่ยนเส้นทางผู้ใช้ไปยังคอนโซลผู้ดูแลระบบ Wildfly เมื่อเข้าสู่ระบบสำเร็จ
หากใช้ Data Source Persibility จะต้องติดตั้งไดรเวอร์ก่อนสร้างแหล่งข้อมูล ติดตั้งไดรเวอร์ฐานข้อมูลโดยใช้รายละเอียดด้านล่าง Download the JDBC driver from your database vendor. (ex. postgresql.jar)
เพิ่มไดรเวอร์ไปยัง Wildfly โดยใช้คอนโซล Wildfly Management
คลิก " Deployments" -> " Add" แล้วเลือก "postgresql.jar", คลิก "Next"
ทำเครื่องหมาย ✔ ที่ Enable แล้วคลิก "Finish"
ติดตั้งไดรเวอร์ฐานข้อมูลสำเร็จแล้ว
แอพพลิเคชันเซิร์ฟเวอร์เป็นเฟรมเวิร์กของซอฟต์แวร์ที่มีทั้งสิ่งอำนวยความสะดวกในการสร้างเว็บแอพพลิเคชันและ environment ในการเรียกใช้งาน ONEWEB รองรับเซิร์ฟเวอร์แอพพลิเคชันต่อไปนี้
Websphere Application Server
JBOSS EAP
Wildfly
ส่วนนี้ประกอบด้วยขั้นตอนการเตรียมการทีละขั้นตอนเพื่อติดตั้ง ONEWEB บนแอพพลิเคชันเซิร์ฟเวอร์
ก่อนจะเริ่มต้น ในการผสานรวมแอพ ONEWEB เข้ากับการตรวจสอบสิทธิ์ Wildfly ผู้ใช้แอพจะต้องลงทะเบียน อ้างถึงส่วน ขั้นตอนที่ 2 กำหนดค่าการเข้าถึง Wildfly Management Console คุณควรเลือกประเภทที่คุณต้องการเพิ่มผู้ใช้ให้กับผู้ใช้แอพพลิเคชัน
การตรวจสอบสิทธิ์ด้วย Wildfly - แก้ไข standalone.xml ดังนี้
เพิ่มแท็ก <login-module>
อ้างถึงส่วน สำหรับข้อมูลโดยละเอียดทีละขั้นตอนเกี่ยวกับวิธีการปรับใช้ ONEWEB
ขั้นตอนแรกเกี่ยวข้องกับการเลือกความคงทนและสิทธิ์ของฐานข้อมูล สร้างฐานข้อมูลสำหรับ ONEWEB ก่อนปรับใช้ไฟล์ WAR คุณควรสร้างสคีมาฐานข้อมูลโดยใช้สคริปต์ SQL ตามรายละเอียดในการ
การเชื่อมต่อกับฐานข้อมูล ONEWEB ดังที่แสดงในข้อมูลประจำตัวของแหล่งข้อมูลและคำขอที่ตามมาไปยังฐานข้อมูลจะได้รับการจัดการผ่านผู้ใช้ฐานข้อมูล นี่เป็นตัวอย่างผู้ใช้ฐานข้อมูลนี้ erp_onewe
หากต้องการใช้ ONEWEB ในอินสแตนซ์ใหม่ของ Wildfly 10.0.0.Final คุณต้องสร้างฐานข้อมูล ปรับใช้ไฟล์เก็บถาวรที่มีให้สำหรับเซิร์ฟเวอร์นี้ และดำเนินการกำหนดค่าต่างๆ คุณสามารถใช้หนึ่งในสองโหมดการทำงานเซิร์ฟเวอร์แบบสแตนด์อโลนหรือโดเมนที่มีการจัดการ ในฐานะที่เป็นเซิร์ฟเวอร์แบบสแตนด์อโลน โหมดการทำงานจะคล้ายกับ Wildfly เวอร์ชันก่อนหน้า
ONEWEB ต้องการโปรไฟล์แบบเต็ม มีตัวอย่างโปรไฟล์แบบเต็มสำหรับทั้งโหมดสแตนด์อโลนและโหมดโดเมน
อินเทอร์เฟซ Wildfly Management Console และ Management CLI ช่วยให้ผู้ดูแลระบบจัดการการปรับใช้แอพพลิเคชันในสภาพแวดล้อมการผลิต
ในการกำหนดค่า ONEWEB บน Wildfly คุณต้องทำตามขั้นตอนต่างๆ
Wildfly ใช้การกำหนดค่าระบบย่อย ระบบย่อยเป็นชุดของฟังก์ชั่นเพิ่มเติมที่เพิ่มเข้าไปในเซิร์ฟเวอร์หลักโดยการขยาย ระบบย่อยให้ความสามารถในการประมวลผล servlet จากระบบย่อยเช่นเดียวกับ EE, EJB, IO และอื่นๆ เป็นต้น โปรไฟล์คือรายชื่อระบบย่อยที่มีชื่อ พร้อมด้วยรายละเอียดการกำหนดค่าของระบบย่อยแต่ละระบบ
EE Subsystem ระบบย่อย EE ช่วยให้คุณสามารถกำหนดค่าฟังก์ชั่นทั่วไปในแพลตฟอร์ม JavaEE เช่นการกำหนดโมดูลทั่วโลกการเปิดใช้งานการแทนที่แอตทริบิวต์ตามคำอธิบายและการกำหนดค่าการเชื่อมต่อเริ่มต้น
managed executor service context-service ชื่อของบริการบริบทที่จะใช้โดยตัวดำเนินการ core-threads จำนวนเธรดขั้นต่ำที่ตัวดำเนินการใช้ หากไม่ได้กำหนด ขนาดคอร์เริ่มต้นจะคำนวณตามจำนวนโปรเซสเซอร์ ไม่แนะนำให้มีค่าเป็นศูนย์และในบางกรณีอาจใช้ไม่ได้ ดูแอตทริบิวต์ความยาวคิวสำหรับรายละเอียดเกี่ยวกับวิธีการใช้ค่านี้เพื่อกำหนดกลยุทธ์การเข้าคิว hung-task-threshold รันไทม์เป็นมิลลิวินาทีสำหรับงานที่ต้องพิจารณาว่าหยุดทำงานโดยบริการตัวดำเนินการที่มีการจัดการ หากค่าเป็น 0 งานจะไม่ถูกพิจารณาว่าหยุดทำงาน jndi-name ชื่อ JNDI เพื่อค้นหาบริการตัวดำเนินการที่ได้รับการจัดการ keepalive-time เมื่อจำนวนของเธรดมากกว่าแกนหลัก นี่คือเวลาสูงสุดในหน่วยมิลลิวินาที ที่เธรดที่ไม่ได้ใช้งานส่วนเกินจะรองานใหม่ก่อนที่จะยุติ long-running-tasks ตั้งค่าสถานะซึ่งบอกใบ้ระยะเวลาของงานที่ดำเนินการโดยผู้ดำเนินการ max-threads จำนวนเธรดสูงสุดที่ตัวดำเนินการใช้ หากปล่อยไว้โดยไม่กำหนด ค่าจากขนาดคอร์จะถูกใช้ ค่านี้จะถูกละเว้นหากใช้คิวที่ไม่มีขอบเขต (ในกรณีนั้นจะใช้เฉพาะคอร์-เธรดเท่านั้น) queue-length ความจุของคิวงานตัวดำเนินการ ความยาว 0 หมายถึงการส่งต่อโดยตรงและการปฏิเสธที่อาจเกิดขึ้นจะเกิดขึ้น ความยาวที่ไม่ได้กำหนด (ค่าเริ่มต้น) หรือ Integer.MAX_VALUE ระบุว่าควรใช้คิวที่ไม่มีขอบเขต ค่าอื่นๆ ทั้งหมดระบุขนาดคิวที่แน่นอน หากมีการใช้คิวแบบไม่จำกัดหรือการส่งต่อโดยตรง จำเป็นต้องใช้ค่าคอร์เธรดที่มากกว่าศูนย์ reject-policy นโยบายที่จะใช้กับงานที่ถูกยกเลิก thread-factory ชื่อของโรงงานเธรดที่จะใช้โดยผู้ดำเนินการ
ระบบย่อย IO ระบบย่อย IO อนุญาตให้คุณกำหนดผู้ปฏิบัติงานและพูลบัฟเฟอร์ที่จะใช้โดยระบบย่อยอื่น
worker io-threads ระบุจำนวนของเธรด I/O ที่จะสร้างสำหรับผู้ปฏิบัติงาน หากไม่ระบุ ระบบจะเลือกค่าเริ่มต้นซึ่งคำนวณโดย cpuCount * 2 stack-size ขนาดสแต็ก (เป็นไบต์) เพื่อพยายามใช้สำหรับเธรดของผู้ปฏิบัติงาน task-keepalive ระบุจำนวนมิลลิวินาทีเพื่อรักษาเธรดงานที่ไม่ใช่คอร์ให้คงอยู่ task-max-threads ระบุจำนวนเธรดสูงสุดสำหรับ pool.if หากไม่ได้ตั้งค่าให้ใช้ค่าเริ่มต้นที่คำนวณโดยสูตร cpuCount * 16
buffer-pool buffer-size ขนาดของแต่ละส่วนบัฟเฟอร์ในหน่วยไบต์ หากไม่ได้ตั้งค่าที่เหมาะสมจะถูกคำนวณตามทรัพยากร RAM ที่มีอยู่ในระบบของคุณ buffers-per-slice จำนวนบัฟเฟอร์ต่อสไลซ์ หากไม่ได้ตั้งค่าที่เหมาะสมจะคำนวณตามทรัพยากร RAM ที่มีอยู่ในระบบของคุณ direct-buffers พูลบัฟเฟอร์ใช้บัฟเฟอร์โดยตรง บางแพลตฟอร์มไม่รองรับบัฟเฟอร์โดยตรง
Processor Core คอร์โปรเซสเซอร์ (หรือเรียกง่ายๆ ว่า "คอร์") คือโปรเซสเซอร์แต่ละตัวภายในซีพียู คอมพิวเตอร์จำนวนมากในปัจจุบันมีโปรเซสเซอร์แบบมัลติคอร์ ซึ่งหมายความว่า CPU มีมากกว่าหนึ่งคอร์
เป็นเวลาหลายปีที่ซีพียูคอมพิวเตอร์มีเคอร์เนลเดียว ในช่วงต้นทศวรรษ 2000 เมื่อความเร็วนาฬิกาโปรเซสเซอร์เริ่มมีเสถียรภาพผู้ผลิตซีพียูจำเป็นต้องหาวิธีอื่นเพื่อปรับปรุงประสิทธิภาพการประมวลผล ในขั้นต้นพวกเขาทำได้โดยการติดตั้งโปรเซสเซอร์หลายตัวในคอมพิวเตอร์ระดับไฮเอนด์ แม้ว่าจะมีประสิทธิภาพ แต่ก็เพิ่มต้นทุนที่สำคัญของคอมพิวเตอร์และประสิทธิภาพการประมวลผลหลายจะถูก จำกัด โดยความเร็วของบัสระหว่าง CPU ด้วยการรวมโปรเซสเซอร์บนชิปตัวเดียว ผู้ผลิต CPU สามารถเพิ่มประสิทธิภาพได้อย่างมีประสิทธิภาพมากขึ้นด้วยต้นทุนที่ต่ำลง หน่วยประมวลผลแต่ละหน่วยกลายเป็นที่รู้จักในชื่อ "คอร์" แทนที่จะเป็นโปรเซสเซอร์ ในช่วงกลางทศวรรษที่ 2000 CPU แบบดูอัลคอร์และควอดคอร์เริ่มเข้ามาแทนที่การกำหนดค่าหลายโปรเซสเซอร์ ในขณะที่ในตอนแรกมีเพียงคอมพิวเตอร์ระดับไฮเอนด์เท่านั้นที่มีหลายคอร์ แต่ทุกวันนี้พีซีเกือบทั้งหมดมีโปรเซสเซอร์แบบมัลติคอร์
หมายเหตุ: “Core” ยังเป็นชื่อของสายผลิตภัณฑ์โปรเซสเซอร์ของ Intel ซึ่งแทนที่กลุ่มผลิตภัณฑ์ Pentium ในปี 2549 ตัวอย่างของโปรเซสเซอร์ Intel Core ได้แก่ Core Duo, Core 2, Core i3, Core i5 และ Core i7
Thread เธรดของโปรแกรมคอมพิวเตอร์ช่วยให้โปรแกรมสามารถดำเนินการอย่างต่อเนื่องหรือหลายครั้งในครั้งเดียว แต่ละเธรดในโปรแกรมจะระบุกระบวนการที่ทำงานเมื่อโปรแกรมร้องขอ เธรดมักจะได้รับการจัดลำดับความสำคัญบางอย่างซึ่งหมายความว่าเธรดบางอย่างมีความสำคัญมากกว่าคนอื่นๆ เมื่อ CPU ประมวลผลหนึ่งเธรดเสร็จสิ้น ก็สามารถเรียกใช้เธรดถัดไปที่รออยู่ในบรรทัดได้ อย่างไรก็ตาม ไม่ใช่ว่าเธรดจะต้องเข้าแถวรอที่เคาน์เตอร์เช็กเอาต์ของ Target ในวันเสาร์ก่อนวันคริสต์มาส เธรดแทบจะต้องรอนานกว่าสองสามมิลลิวินาทีก่อนที่จะทำงาน โปรแกรมคอมพิวเตอร์ที่ใช้ "มัลติเธรด" สามารถรันหลายเธรดพร้อมกันได้ ระบบปฏิบัติการสมัยใหม่ส่วนใหญ่รองรับมัลติเธรดที่ระดับระบบ หมายความว่าเมื่อโปรแกรมหนึ่งพยายามใช้ทรัพยากร CPU ของคุณทั้งหมด คุณยังคงสามารถเปลี่ยนไปใช้โปรแกรมอื่นได้ และบังคับให้โปรแกรมที่ใช้ CPU ร่วมกันใช้โปรเซสเซอร์เพียงเล็กน้อย คำว่า "เธรด" ยังสามารถหมายถึงชุดของโพสต์ที่เกี่ยวข้องในการสนทนาออนไลน์ กระดานข่าวบนเว็บประกอบด้วยหัวข้อหรือเธรดมากมาย การตอบกลับที่โพสต์ในการตอบกลับการโพสต์ต้นฉบับนั้นเป็นส่วนหนึ่งของเธรดเดียวกันทั้งหมด ในอีเมล เธรดสามารถอ้างถึงชุดของการตอบกลับกลับไปกลับมาเกี่ยวกับข้อความบางอย่าง
JVM Options มีตัวเลือกสามประเภทที่คุณสามารถรวมไว้ใน JVM ของคุณ ตัวเลือกมาตรฐาน ไม่ใช่มาตรฐาน และตัวเลือกขั้นสูง หากคุณลองใช้ตัวเลือกขั้นสูง คุณจะใช้ตัวเลือกกับ -XX เสมอ ในทำนองเดียวกัน หากคุณใช้ตัวเลือกที่ไม่ได้มาตรฐาน คุณใช้ -X ตัวเลือกมาตรฐานไม่ได้เสริมอะไรให้กับตัวเลือก
Java heap size
-Xms - set initial Java heap size -Xmx - set maximum Java heap size -Xss - set java thread stack size
Xms ตัวเลือกนี้คือการกำหนดขนาดฮีปเริ่มต้นสำหรับ JVM เช่น Xms2048m ซึ่งหมายความว่าขนาดฮีปเริ่มต้นของ JVM คือประมาณ 2 GBดังนั้น เมื่อ JVM เริ่มทำงาน หน่วยความจำจะมีฮีปขนาดใหญ่มาก แปลกใจใช่! สิ่งนี้ดำเนินการเพื่อป้องกันการปรับขนาดระหว่างการเริ่มต้นและปรับปรุงเวลาเริ่มต้นของ JVM Xmx ตัวเลือกนี้ใช้ในการกำหนดขนาดของปริมาณสูงสุดของ JVM เช่น Xmx2048m ซึ่งหมายความว่า JVM มีขนาดสะสมสูงสุดเพียง 2GB โดยพื้นฐานแล้ว Xms และ Xmx จะอยู่ด้วยกันเสมอ
PermGen Size ตัวเลือก JVM ก่อนหน้านี้กำหนดขนาดของหน่วยความจำฮีป แต่ -XX:PermSize คือการกำหนดขนาดของพื้นที่ PermGen ที่ซึ่งกลุ่มสตริงและข้อมูลเมตาของคลาสถูกบันทึกไว้ ตัวเลือกนี้มีผลอย่างยิ่งสำหรับเว็บเซิร์ฟเวอร์อย่าง Tomcat ซึ่งมักจะโหลดคลาสของเว็บแอพพลิเคชันในระหว่างการปรับใช้ อย่างไรก็ตาม มันคุ้มค่าที่จะตระหนักว่าพื้นที่ PermGen ถูกครอบครองโดย Metaspace ใน Java 8 และตัวเลือกนี้ใช้ไม่ได้หากคุณใช้งานกับ JRE 8 JVM การจัดการข้อผิดพลาด 'OutOfMemory' ในการทริกเกอร์ฮีปดัมพ์เมื่อหน่วยความจำไม่เพียงพอ คุณสามารถใช้ -XX:+HeapDumpOnOutOfMemoryError ตัวเลือก JVM นี้สร้างการถ่ายโอนข้อมูลสแต็กเมื่อ JVM ของคุณตายโดยมีข้อผิดพลาด OutOfMemory ไม่มีค่าใช้จ่ายใดๆ เว้นแต่จะมี OOM เกิดขึ้นจริงๆ แฟล็กนี้เป็นสิ่งจำเป็นสำหรับระบบการผลิตเนื่องจากเป็นวิธีเดียวที่จะระบุปัญหาอย่างลึกซึ้ง
ฮีปดัมพ์จะถูกตั้งค่าใน "ไดเร็กทอรีปัจจุบัน" ของ JVM ตามค่าเริ่มต้น หากคุณต้องการสร้างฮีปดัมพ์ในไดเร็กทอรีเฉพาะ ให้เรียกใช้
-XX:HeapDumpPath= [path-to-heap-dump-directory] -XX:+UseGCOverheadLimit -XX:OnOutOfMemoryError="< cmd args >;< cmd args >"
ไฟล์ฮีปดัมพ์อาจมีขนาดใหญ่ถึงกิกะไบต์ ดังนั้น ตรวจสอบให้แน่ใจว่าระบบไฟล์ปลายทางมีความจุเพียงพอ หากเราต้องการรีสตาร์ทเซิร์ฟเวอร์ทันทีหลังจากเกิดหน่วยความจำไม่เพียงพอเราสามารถตั้งค่าพารามิเตอร์นี้ได้ - XX: OnOutOfMemoryError = "shutdown-r" ติดตามการโหลดและถอนการติดตั้งคลาส -XX:+TraceClassLoading และ -XX:+TraceClassUnloading เป็น JVM สองตัวเลือกที่เราใช้เพื่อพิมพ์ข้อมูลการบันทึกเมื่อใดก็ตามที่คลาสโหลดลงใน JVM หรือยกเลิกการโหลดจาก JVM แฟล็ก JVM เหล่านี้มีประโยชน์หากคุณมีการรั่วไหลของหน่วยความจำประเภทใดก็ตามที่เชื่อมโยงกับตัวโหลดคลาสและสงสัยว่าคลาสไม่ได้ถูกขนถ่ายหรือรวบรวมขยะ
การกำหนดค่ามาตรฐานที่แนะนำสำหรับ ONEWEB
ตารางต่อไปนี้แสดงรายละเอียดการเชื่อมต่อแหล่งข้อมูลสำหรับฐานข้อมูล ONEWEB
a2m
java:/jdbc/a2m
A2M
eaf_master
IAM2
java:/jdbc/iamDS
IAM2
iam2
application
java:/jdbc/application
AppDesigner & App Runtime
erp_oneweb
master
java:/jdbc/master
eaf_master
pd
java:/jdbc/pd
Process Designer & PD Monitor & Microflow
pd
bpm
java:/jdbc/bpm
Process Runtime & Microflow Runtime
bpm
asp
java:/jdbc/asp
AppSpace
asp
dpc
java:/jdbc/dpc
Deployment Center
dpc
page
java:/jdbc/page page
Page Designer
page
คุณสามารถกำหนดค่าแหล่งข้อมูลได้โดยใช้ JBoss Management Console หรือ Management CLI ที่นี่ คุณใช้คอนโซลการจัดการ
ล็อกอินเข้าสู่ JBoss Management Console โดยค่าเริ่มต้น, http://(IP Address):9990
ไปยัง Configuration -> Subsystems -> Datasources Select Type "Non-XA" -> and then click add (5) Create datasource -> Choose datasource "custom" and then click "Next"(7)
ระบุรายละเอียดสำหรับแหล่งข้อมูลใหม่ Datasource Attribute Name: Datasource Name JNDI Name: Specifies the JNDI name for the datasource
JDBC Driver เลือก Detected Driver "postgresql.jar" แล้วคลิก "Next"
ตรวจสอบการเชื่อมต่อแหล่งข้อมูล คลิก "Test Connection" แล้วคลิก "Finish"
เอกสารนี้จะแนะนำวิธีเปิดใช้งานการลงชื่อเพียงครั้งเดียวเพื่อเข้าถึงแอพพลิเคชันต่างๆ ที่ปรับใช้ในเซิร์ฟเวอร์ต่างๆ โดยที่แอพพลิเคชันเหล่านี้อยู่ในโดเมนความปลอดภัยเดียวกัน
ก่อนที่คุณจะเริ่มต้น คุณต้องกำหนดค่าโดเมนความปลอดภัยที่จัดการการรับรองความถูกต้องและการให้สิทธิ์ ตรวจสอบแอพพลิเคชันEAR, WAR ใช้โดเมนความปลอดภัยเดียวกัน
หากต้องการเปิดใช้งาน SSO ให้เปิด SSO ในการกำหนดค่าเซิร์ฟเวอร์ Wildfly เพื่อแก้ไข standalone.xml ดังนี้
คุณสมบัติ org.apache.catalina org.apache.catalina.connector ใช้เพื่อตั้งค่าการเข้ารหัส UTF-8 ในการกำหนดค่า Wildfly 10 คุณสมบัติเหล่านี้ไม่มีผลกระทบเนื่องจากตอนนี้ Wildfly ใช้ Undertow ในการตั้งค่าการเข้ารหัส UTF-8 แทนการเปลี่ยน
การแก้ไข standalone.xml ดังนี้
เพิ่มแท็ก system-properties
แก้ไข servlet-container
แก้ไข standalone.xml ดังนี้
ก่อนที่คุณจะกำหนดค่า คุณควรแจ้งให้ LDAP ทราบสำหรับการตรวจสอบการกำหนดค่าด้วย Wildfly โปรดดูหัวข้อการผสานรวม LDAP
ตัวอย่าง:
เพิ่มแท็ก <login-module>
แก้ไข value ldap setting
IP
192.168.0.183
Port LDAP
389
Domain name
avalant.co.th
Username admin
xxxxxxxx
Password admin
xxxxxxxx
Group
users