ศูนย์คู่มือ Ruk-Com PaaS

คู่มือการพัฒนา Deploy และดูแล Application บน Platform

RUK-COM PAAS / APPLICATION SETTINGS

คู่มือ Managing Timezone Settings สำหรับ การตั้งค่า Application

คู่มือนี้เรียบเรียงสำหรับ Ruk-Com PaaS หน้าจอและตัวเลือกอาจแตกต่างตามเวอร์ชันและสิทธิ์ของบัญชี

ตรวจสอบ Environment, Region, สิทธิ์บัญชี และสำรองค่าปัจจุบันก่อนดำเนินการกับระบบจริง

คู่มือภาษาไทย

คำสั่ง ชื่อเมนู Parameter และค่าตัวอย่างในกรอบ Code คงรูปแบบตามระบบเพื่อให้คัดลอกและตรวจสอบได้ถูกต้อง

การจัดการข้อมูลเขตเวลา

Container ทั้งหมดที่สร้างขึ้นภายใน Platform จะใช้เขตเวลา UTC เป็นค่าเริ่มต้นอย่างไรก็ตามในกรณีที่จำเป็นคุณสามารถเปลี่ยนเป็นอันที่ต้องการได้อย่างง่ายดายด้วยความช่วยเหลือจากการเปลี่ยนแปลงเขตเวลาส่วนเสริมทำตามขั้นตอนที่ให้ไว้ภายในส่วนที่เชื่อมโยงเพื่อสลับเขตเวลาใน Instance ใดๆของคุณ

หรือคุณสามารถใช้การเปลี่ยนแปลงด้วยตนเองได้ตัวอย่างเช่น Application Server Java และ PHP ทั้งหมดที่ Platform นั้นมาพร้อมกับ Package เขตเวลาพิเศษซึ่งรวมถึงข้อมูลเกี่ยวกับประวัติเวลาท้องถิ่นในสถานที่ต่างๆทั่วโลกและกฎเขตเวลาปัจจุบันข้อมูลนี้จำเป็นสำหรับ Software ที่ทำงานภายใน Container ที่เหมาะสมและได้รับการอัปเดตเป็นประจำภายในรุ่น Server ที่เกี่ยวข้องในขอบเขตของเวอร์ชัน Platform ที่ออกใหม่

นอกจากนั้นคุณสามารถอัปเดตกฎเขตเวลาด้วยตนเองได้ทันทีหากจำเป็นหรือเปลี่ยน TZ ที่ใช้อยู่ในปัจจุบันตามตำแหน่งที่ต้องการดังนั้นด้านล่างนี้เราจะเปิดเผยข้อมูลเฉพาะบางประการของการจัดการข้อมูลเขตเวลาที่ Platform สำหรับ Application Server ของภาษาการเขียนโปรแกรมที่กล่าวถึงข้างต้น:

การเปลี่ยนแปลงเขตเวลาสามารถติดตั้งส่วนเสริมได้บน Environment ใดๆของคุณโดยเปลี่ยนเขตเวลาสำหรับ Container ที่ประกอบทั้งหมดได้ในเวลาไม่กี่นาที

  1. ก่อนดำเนินการติดตั้งเรามาตรวจสอบเขตเวลาบน Container เป้าหมายของเราโดยใช้วันที่สั่งการ.

Image 1: date before timezone changeอย่างที่คุณเห็น.เวลาสากลเชิงพิกัดมีการใช้โซน (ค่าเริ่มต้นสำหรับ Container ที่จัดการ Platform ทั้งหมด)

Image 2: import timezone change add-on

เคล็ดลับ:ขึ้นอยู่กับการตั้งค่าผู้ให้บริการ Hosting ของคุณ Add-on สามารถใช้งานได้ผ่านทางตลาด Platform.

Image 3: marketplace timezone add-on

  1. ภายในกรอบที่เปิดอยู่ให้เลือกเป้าหมายEnvironmentและพิมพ์สิ่งที่ชอบชื่อเขตเวลา(รายการโซนเวลา) สำหรับมัน

Image 4: install timezone change add-onคลิกติดตั้งเพื่อใช้การเปลี่ยนแปลง

  1. หลังจากการติดตั้ง Add-on คุณสามารถตรวจสอบการเปลี่ยนแปลงเขตเวลาได้โดยการเรียกใช้วันที่สั่งอีกครั้งหนึ่ง

Image 5: date after timezone changeอย่างที่คุณเห็นเวลาของระบบได้เปลี่ยนไปเป็นน้ำหอม EDT(เวลาออมแสงตะวันออก).

กฎเขตเวลาสำหรับ Java

กฎเขตเวลาภายใน Node ประมวลผล Java ถูกส่งผ่านกฎเฉพาะTZdataบรรจุภัณฑ์ประกอบด้วยในแต่ละ Container ที่เหมาะสมทำตามคำแนะนำด้านล่างเพื่อ:

กำลังอัปเดตข้อมูลเขตเวลา

แม้ว่าที่จริงแล้ว Package TZdata รุ่นใหม่ล่าสุดจะรวมเข้ากับ Node ในระหว่างการสร้างแต่หลังจากผ่านไประยะหนึ่งมันก็ล้าสมัยเนื่องจากการเปลี่ยนแปลงข้อมูลภายในเป็นระยะดังนั้น Container เก่าอาจต้องมีการอัปเดตที่สอดคล้องกันเป็นครั้งคราว (โดยเฉพาะอย่างยิ่งเพื่อไม่ให้ถูกสร้างขึ้นใหม่ทุกครั้งที่จำเป็น) เพื่อเป็นการฝังแบบพิเศษTZUpdaterใช้เครื่องมือซึ่งมีจุดมุ่งหมายเพื่อรักษาข้อมูลเขตเวลาของคุณให้ถูกต้องและเป็นปัจจุบันมันค่อนข้างใช้งานง่ายและสามารถรันด้วยคำสั่งบรรทัดเดียวคุณเพียงแค่ต้อง:

  1. เชื่อมต่อกับ Environment Java ของคุณผ่าน SSH เช่นการใช้สิ่งที่ฝังตัวเว็บ SSHลูกค้า:

Image 8: Web SSH button2. เมื่อเข้าไปข้างในแล้วสามารถตรวจสอบการใช้งานปัจจุบันได้TZdataเวอร์ชันโดยการรันสตริงต่อไปนี้:

ทุบตี

java -jar /usr/java/utils/tzupdater.jar -V

Image 9: check timezone rules version3. หากคุณสังเกตเห็นว่า Package ที่เกี่ยวข้องใน Container ที่เลือกนั้นล้าสมัยคุณสามารถอัปเดตข้อมูลเขตเวลาได้โดยใช้ Package ที่ฝังไว้TZUpdaterเครื่องมือ:

ทุบตี

java -jar /usr/java/utils/tzupdater.jar -u

Image 10: update server timezoneอย่างที่คุณเห็นการรับ Package เขตเวลาล่าสุดสำหรับ Server ที่ขับเคลื่อนด้วย Java นั้นเป็นการดำเนินการที่ง่ายมากกับ Platform

การเปลี่ยนเขตเวลา Java

ตอนนี้มาดูวิธีตรวจสอบและเปลี่ยนแปลงเวลาท้องถิ่นของ Application Server กันเราจะพิจารณาสิ่งนี้จากตัวอย่างของTomcat 9Server

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

เพื่อดำเนินการดังกล่าวให้วาง Code ด้านล่างแทน/opt/tomcat/webapps/ROOT/index.jspเนื้อหาเริ่มต้นของไฟล์ (วิธีที่ง่ายที่สุดคือการใช้ inbuiltตัวจัดการไฟล์เพื่อสิ่งนั้น)

html

<%@page import="java.util.*"%>
<html>
   <head>
       <title>TZ Page</title>
   </head>
   <body>
       <%=new Date(System.currentTimeMillis()).toString()%>
   </body>
</html>

Image 12: Java check time app2.บันทึกการเปลี่ยนแปลงและเปิดEnvironment ของคุณใน Browserพร้อมปุ่มที่เกี่ยวข้องเพื่อดูเวลา Server ปัจจุบันเช่น:

Image 13: Java time UTC3. ในการเปลี่ยนเขตเวลาจริงสำหรับ Server เฉพาะให้ดำเนินการดังต่อไปนี้:

  • สำหรับTomcat,TomEE,ปายรา,รองเท้าบูทสปริงและท่าเทียบเรือเปลี่ยนไปที่ตัวแปร.confไฟล์การกำหนดค่าและเพิ่มไฟล์-Duser.เขตเวลาตัวแปรด้วยโซนที่ต้องการเป็นค่าเช่น:-Duser.timezone=สหรัฐฯ/แปซิฟิก

บันทึก:ตำแหน่งของไฟล์นี้อาจแตกต่างกันไปขึ้นอยู่กับ Application Server เฉพาะที่ใช้:

*   Tomcat 7, 8, 9, TomEE - _/opt/tomcat/conf/variables.conf_
*   Jetty 9 - _/opt/jetty/etc/variables.conf_
*   Payara 4, 5 - _/opt/payara/glassfish/domains/domain1/config/variables.conf_
*   Spring Boot 1, 2 - _/opt/shared/conf/variables.conf_

Image 14: variables.conf timezone variable* สำหรับGlassFishเข้าถึงแผงผู้ดูแลระบบ GF ไปที่การกำหนดค่า > gfcluster-config.js(หรือServer-configสำหรับแฟน 4)> การตั้งค่า JVM > ตัวเลือก JVMส่วนแล้วคลิกเพิ่มตัวเลือก JVMปุ่ม. วางสตริงที่เกี่ยวข้อง (เช่น-Duser.timezone=สหรัฐฯ/แปซิฟิก) ภายในช่องป้อนข้อมูลที่ปรากฏ:

Image 15: GlassFish timezone variable* สำหรับWildFlyเปลี่ยนไปที่/opt/wildfly/bin/standalone.confไฟล์ (หรือหาก Server เป็นปรับขนาดในแนวนอนอ้างอิงถึง/opt/wildfly/bin/domain.confconfig) และประกาศตัวแปรที่เกี่ยวข้องโดยใช้รูปแบบต่อไปนี้:ส่งออก JAVA_OPTS="-Duser.timezone=US/Pacific"

Image 16: WildFly timezone variable

บันทึกการปรับเปลี่ยนที่เกิดขึ้นและRestartApplication Server ของคุณเพื่อใช้การตั้งค่าใหม่

  1. ตอนนี้เพียง Refresh หน้าเริ่มต้นของ Server หรือคลิกเปิดใน Browserอีกครั้งเพื่อดูเวลาท้องถิ่นที่อัปเดต:

Image 17: Java time PDTมีการใช้กฎใหม่ที่ยอดเยี่ยมและประสบความสำเร็จด้วยวิธีนี้คุณสามารถกำหนดตำแหน่งเวลาที่ต้องการสำหรับ Server ของคุณได้โดยไม่มีปัญหาใดๆในเวลาไม่กี่นาที

กฎเขตเวลาสำหรับ PHP

การจัดการการตั้งค่าเขตเวลาที่ PlatformApplication Server PHP (ApacheและNGINX) จะดำเนินการภายใน[วันที่]ส่วนของไฟล์กำหนดค่า PHP หลัก -php.ini.

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

Image 19: php.ini date settingsดังที่คุณเห็นแล้วส่วนนี้ประกอบด้วยสองตัวเลือกซึ่งสามารถใช้เพื่อ:

การตรวจสอบข้อมูลเขตเวลา

การตั้งค่าแรกช่วยให้คุณใช้ Database เขตเวลาภายนอกอื่นได้ (เช่น - theโอลสันหนึ่ง) ในกรณีที่ภายในล้าสมัย

Image 21: PHP update timezone rulesเพื่อสิ่งนั้นเพียงยกเลิกหมายเหตุส่วนขยายที่เหมาะสมโดยการลบสัญลักษณ์อัฒภาคตัวแรกออกบันทึกการเปลี่ยนแปลงที่เกิดขึ้นและRestartServer แอปของคุณ

ตอนนี้ถ้าคุณคลิกเปิดใน Browserและเลื่อนไปจนถึงวันที่ส่วนของที่เปิดphpinfo()คุณจะเห็นเวอร์ชัน Package เขตเวลาล่าสุดแสดงอยู่โดยมีการระบุถึงการใช้ Database ภายนอก:

Image 22: PHP info date section

การเปลี่ยนเขตเวลา PHP

ตัวเลือกที่สองใน[วันที่]ส่วนนี้มีไว้สำหรับกำหนดตำแหน่งเขตเวลาปัจจุบัน (โดยค่าเริ่มต้นจะชี้ไปที่เวลาสากลเชิงพิกัดโซน) ของ Node สำหรับการแสดงสิ่งนี้บนตัวอย่างจริงเราจะแก้ไขหน้าเริ่มต้นของ Server เริ่มต้น (ไฟล์/var/www/webroot/ROOT/index.phpไฟล์) ด้วยรหัสต่อไปนี้:

PHP

<?php
echo date("h:i:sa");
?>

Image 24: PHP check time appตอนนี้ถ้าประหยัดไฟล์ที่อัพเดตแล้วคลิกเปิดใน Browserคุณจะเห็นเอาต์พุตการประทับเวลา:

Image 25: PHP time UTCกลับไปที่ DashboardPlatform และระบุสิ่งที่ต้องการเขตเวลาเป็นค่าสำหรับวันที่.เขตเวลาParameter ภายในphp.iniไฟล์ (เช่นออสเตรเลีย/ซิดนีย์ในกรณีของเรา)

Image 26: PHP change server timezoneอีกครั้ง,บันทึกการกำหนดค่าใหม่ของคุณRestartNode คำนวณ PHP ที่เกี่ยวข้องและ Refresh หน้าด้วยเวลาปัจจุบันที่แสดง:

Image 27: PHP time Australiaแค่นั้นแหละ! อย่างที่คุณเห็นเปลี่ยนเขตเวลาสำเร็จแล้วและตอนนี้สอดคล้องกับตำแหน่งที่ต้องการ