แสดงบทความที่มีป้ายกำกับ Problem Application Server แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ Problem Application Server แสดงบทความทั้งหมด

วันพฤหัสบดีที่ 24 มกราคม พ.ศ. 2551

ปัญหาการ Deploy บน Websphere 6.0 - 6.1

ปัญหาส่วนใหญ่ต้องดู SystemOut.log เอาน่ะครับ อันนี้เป็น Guidline คร่าวๆ เท่านั้น

1. ถ้าเคย Deploy แล้วได้ แต่อยู่ดีๆ พอ Deploy ใหม่แล้วไม่ได้ ลอง Export Ear File ใหม่แล้ว Deploy อีกที อาจจเป็นเพราะเวลาเรา Export มามีปัญหาน่ะครับ ลองทำซ้ำดู ก็จะได้

2. ถ้า Deploy สำเร็จ แต่ Start Application ไม่ได้ อันนี้ต้องตรวจสอบดีๆ ว่าเป็นที่อะไรน่ะครับ
  • ลองดูว่า Duplication EJB Name หรือเปล่าครับ ถ้าใช้ ก็เปลี่ยนชื่อไม่ให้ซ้ำกัน
  • Deploy EJB Project หรือยังก่อนที่จะ Export Ear File มันก็จะทำให้มีปัญหาเหมือนกัน
  • เป็นที่ Ear Project หรือเปล่า ลองตรวจดูว่า มี Web Module หรือ Module ไหนหรือเปล่าที่ Doesn't exist ใน Ear Project (เกิดกรณีที่เราเปลี่ยนชื่อ หรือลบมันทิ้งน่ะครับ)
  • ถ้ามีการเปลี่ยนชื่อ Project หรืออะไรต้องทำการ Remove ออกก่อนแล้ว Add ใหม่ ถ้าไม่ทำอาจจะทำให้ Deploy Application ไม่ได้น่ะครับ
3. ปัญหา Application ยาวเกิน 259 ตัวอักษร (เกิดใน Windows ผมไม่แน่ใจว่าบน Unix จะเป็นเปล่านะครับ) ให้เปลี่ยนชื่อ Application Exception จะประมาณ xxx too long น่ะครับ แก้ได้ดังนี้
  • ถ้าสามารถเปลี่ยนชื่อ Application ได้ก็ให้เปลี่ยนให้สั้นลงนะครับ
  • ถ้าเป็นที่ WSDL File ให้ลบทิ้ง (ปกติมันจะ Generate WSDL File มาสองที่ ที่อยู่ในลึกมากๆ หลาย Folder อันนี้ให้ลบทิ้งได้เลยครับ ส่วนที่อยู่ใน web-inf/wsdl ไม่ต้องลบครับ)
  • ถ้าทำตามข้างบนไม่ได้ให้ Create Profile ใหม่แล้วเอา Application ไปไว้ที่ตัวใหม่แทนน่ะครับ ดูวิธี Create ได้ ที่นี่

4. อันนี้สำคัญมาก ถ้าเรา Deploy Ear File ของเิิดิม โดยเปลี่ยนชื่อเป็นตัวใหม่ พยายามแก้ JNDI Name (EJB) ทั้งหมด อย่าให้ซ้ำ เพราะจะทำให้ทุก Application ที่ Deploy อยู่บน Server ใช้งานไม่ได้ ต้อง Unistall แล้ว Deploy ใหม่ทั้งหมด (ดูจาก ใน Directory installedApp จะไม่มี ข้อมูลอยู่เลย) แต่สามารถ Export ข้อมูลออกมาได้ คือ Export แล้ว Uninstall แล้วเอาตัวที่ Export มา Deploy ใหม่น่ะครับ

วันพฤหัสบดีที่ 19 เมษายน พ.ศ. 2550

วิธีแก้ปัญหาพื้นฐานเวลาทำไมหน้า Web ถึงไม่ขึ้น

1. ตรวจสอบก่อนว่า Application ทำงานหรือยัง

2. ตรวจสอบโดยวิ่งเข้าหน้าเวบผ่านทาง Application Server (ถ้า Default Port จะเป็น 9080) ถ้ายังไม่ได้แสดงว่า Application ยังมีปัญหาในการ Deploy อยู่ (ในบางกรณีเวลา Deploy เสร็จแล้วอาจจะต้องรอข้อมูลให้ Sync กันระหว่าง Application Server หลายตัว เราจะต้องทำการเทสทุกเครื่องที่มีในระบบ เพราะอาจจะเกิดกรณีที่ว่า ข้อมูลของ Application Server ไม่ Sync ขึ้นได้แค่บางเครื่อง

3. ถ้าทำในข้อ 2 สำเร็จแล้วให้ตรวจสอบในส่วนของ Web Server ว่ารันขึ้นหรือยัง ถ้ายังให้ทำการ Start Web Server ซึ่งสามารถทำผ่านหน้า Admin Console ได้เลย

4. หลังจากทำผ่านข้อ 2 แล้วในกรณีที่เป็น Application ใหม่ พึ่ง Install ลง Server ครั้งแรก ให้ทำการ Propogate,Generate Plugin ที่ตรง Web Server ซึ่งพอเสร็จแล้วต้อง Success ทั้งสองอย่าง (คือการทำให้ Web Server กับ Application Server Sync ข้อมูลกัน)

5. ในกรณีที่ไม่ Success อาจจะเกิดจากกรณีที่ระบบเขายังไม่ได้ Grant สิทธิ์ของ Web Sphere Admin ในการเข้าไปเปลี่ยนข้อมูลใน Folder ที่ Config ให้ไปเพิ่มสิทธิ์ในการเข้าถึงบน Unix ก็จะทำงานได้

6. ให้ไปตรวจสอบข้อมูลที่ไฟลล์ plugin-cfg.xml ว่ามีการ Map Context Root ลงไปหรือเปล่า โดยจะมีข้อมูลคล้ายตัวอย่างข้างล่างนี้

Example
<Uri AffinityCookie="JSESSIONID"AffinityURLIdentifier="jsessionid" Name="/mer/MGWWebService/*" />


7. ในกรณีที่ไม่มีข้อมูลนั้น (น่าจะเป็นจากการที่ว่าเรามี Application Server, Web Server แยกกันคนละเครื่อง แล้วมีมากกว่า 1 เครื่อง) ให้ทำดังนี้
1. ให้ไปที่เมนู Environment --> Update global Web server plug-in configuration แล้วทำการกดปุ่ม OK ซึ่งจะทำการ Update Config Context Root ทั้งหมด ถ้าไม่แน่ใจ ลองกด View or download the current Web server plug-in configuration file เพื่อดูว่ามีจริงหรือไม่ แต่โดยปกติมันต้องมีข้อมูลอยู่
2. เมื่อทำเสร็จแล้วให้ไปทำการ Generate Plugin กับ Propagate Plugin อีกทีนึง แล้วทำการตรวจสอบดูว่ามีแล้วหรือไม่ตามข้อ 6
3. ถ้ายังไม่มีให้ใช้วิธีการ Copy ข้อมูลไปเพิ่มในไฟลล์ plugin-cfg.xml (โดยดู Path ว่าอยู่ที่ไหนได้จากตอน propagate Plugin บอกประมาณว่า จาก ที่ไหนไปไหนให้ Copy ไปทับตรงจาก Example Path --> /data/IBM/WebSphere/AppServer/profiles/Dmgr01/config/cells/ PBITAPPDEV01Cell01/nodes/ihsnode03/servers/webserver1/plugin-cfg.xml)
หมายเหตุ วิธีการเพิ่มข้อมูลเองไม่ควรจะทำเพราะว่า ถ้าเรา Generate Plugin ใหม่ข้อมูลที่เพิ่มจะหายไป ต้องการวิธีแก้ที่ Websphere

8. ตรวจสอบอีกทีว่าหน้าเวบขึ้นได้หรือไม่ (เช็คที่วงแลนเดียวกัน)

9. ในกรณีที่วิ่งจาก Internet หรือ Intranet แล้วยังไม่ได้จากข้อ 6 ต้องตรวจสอบตัว Reverse Proxy, Load Balance, …. ดูว่าได้มีการ Config ผิดหรือไม่ถึงยังไม่สามารถจะไปที่หน้าเวบนั้นได้