Database Configuration

การกำหนดค่าฐานข้อมูล

ในคู่มือนี้ เราจะแสดงการกำหนดค่าไฟล์หลัก ๆ ทั้งหมดที่เกี่ยวข้องกับ Database Server โดยแต่ละประเภทจะมีการเก็บไฟล์ Config ไว้ในโฟลเดอร์ที่แตกต่างกันดังนี้

โฟลเดอร์ ETC

การกำหนดค่า PHP จะดำเนินการในไฟล์ php.ini ที่อยู่ในโฟลเดอร์ etc

MySQL, MariaDB และ Percona ประกอบด้วยไฟล์การกำหนดค่า my.cnf สำหรับการจัดการฐานข้อมูล โปรดทราบว่า Ruk-Com จะจัดการตั้งค่าต่อไปนี้ในไฟล์นี้ให้โดยอัตโนมัติโดยคำนวนค่าตาม memory และ CPU ที่ใช้งาน

  • key_buffer_size
  • table_open_cache
  • myisam_sort_buffer_size
  • innodb_buffer_pool_size

ถ้าคุณต้องการที่จะเปลี่ยนการตั้งค่ารายการด้านบนด้วยตนเอง คุณจำเป็นที่จะต้องลบบรรทัดแรกของไฟล์ my.cnf ออก (#Jelastic autoconfiguration mark.)

อีกทางหนึ่ง คุณสามารถแทนที่การตั้งค่าต่าง ๆ ในไฟล์ /etc/my.cnf (รวมถึงรายการที่ถูกจัดการโดยเครื่องหมายอัตโนมัติของ Ruk-Com) โดยระบุในไฟล์ /etc/mysql/conf.d/custom.cnf

โฟลเดอร์ CRON

เซิร์ฟเวอร์ฐานข้อมูลประกอบด้วยโฟลเดอร์  /var/spool/cron ด้วยไฟล์ config การทำงานของ cron สามารถกำหนดค่าได้

ยกตัวอย่าง คุณสามารถกำหนด scheduled backups ของฐานข้อมูลได้ cron expression ที่จำเป็นจะรวมอยู่ในไฟล์ cron config โดยค่าเริ่มต้น คุณจำเป็นต้องเอา comment (#) ออกเพื่อให้ Cron ทำงานและแก้ไขค่า parameter ตามที่ต้องการ

คุณสามารถหาข้อมูลเพิ่มเติมได้ในเอกสารประกอบ link Setting Up Cronjob

โฟลเดอร์ SCRIPTS

ในโฟลเดอร์นี้ประกอบด้วยสคริปต์ backup_script.sh เป็นค่าเริ่มต้น คุณสามารถใช้โฟลเดอร์ /var/lib/jelastic/bin สำหรับการอัปโหลดสคริปต์ที่คุณกำหนดเองได้

โฟลเดอร์ backup

โฟลเดอร์ /var/lib/jelastic/backup นี้ใช้สำหรับจัดเก็บไฟล์การสำรองข้อมูลของฐานข้อมูล database backup คุณสามารถใช้ไฟล์นี้สำหรับการกู้คืนข้อมูลของฐานข้อมูลได้

โฟลเดอร์ keys

ไดเรกทอรี /var/lib/jelastic/keys ใช้เป็นตำแหน่งสำหรับอัปโหลด private keys ที่จำเป็นสำหรับแอปพลิเคชัน

สร้างคีย์ ทำการบันทึกเหมือนไฟล์ธรรมดาและอัปโหลดไปยังโฟลเดอร์ keys จากนั้นคุณสามารถใช้สำหรับกรณีต่าง ๆ ได้โดยระบุเส้นทางไปยังคีย์ของคุณเท่านั้น เช่น /var/lib/jelastic/keys/{keyName}.

โฟลเดอร์ conf.d

โฟลเดอร์ /etc/httpd/conf.d โดยปกติแล้วใช้ในการจัดเก็บข้อมูลและจัดการการตั้งค่าย่อย ๆ 

ตัวอย่างเช่น คุณสามารถเข้าถึงพาเนลการกำหนดค่าไฟล์ของแอดมินได้  (ขึ้นอยู่กับฐานข้อมูล, เช่น phpMyAdmin-jel.conf สำหรับ MySQL) ผ่านโฟลเดอร์ conf.d ใช้ไฟล์เหล่านี้เพื่อกำหนดเกณฑ์ที่เหมาะสมสำหรับอนุญาต / ปฏิเสธการเข้าถึงโดยไอพีแอดเดรสหรือโดเมน

โฟลเดอร์ conf

ไฟล์การกำหนดค่าหลักของเซิร์ฟเวอร์ฐานข้อมูล PostgreSQL ตั้งอยู่ในโฟลเดอร์ /var/lib/pgsql/data ตัวอย่าง รวมถึงการกำหนดค่าอย่าง postgresql.conf, pg_hba.conf, pg_ident.conf อื่น ๆ

Ruk-Com PaaS จัดการ 2 พารามิเตอร์ในไฟล์ /var/lib/pgsql/data/postgresql.conf ต่อไปนี้โดยอัตโนมัติ สำหรับฐานข้อมูล PostgreSQL

  • shared_buffers – คำนวนจา 1 ใน 4 ของ Memory ที่ Container มี cloudlet มากกว่า 8 ขึ้นไป หากน้อยกว่า 8 Cloudlet จะคำนวนลดลงมาตามลำดับแต่ไม้น้อยกว่า 128KB
  • max_stack_depth – คำนวณเป็นการลบ 1024 จากขนาดสแต็กสูงสุด (การตอบสนองของคำสั่ง ulimit -s) จะแปลงเป็น MB

ถ้าคุณต้องการเปลี่ยนการตั้งค่าเหล่านี้ด้วยตนเองคุณสามารถ Comment บรรทัดแรกของไฟล์ออกไปเพื่อไม่ให้ระบบทำ Auto configuration ได้