แก้ค่า Default ของ DirectAdmin เพื่อให้เวลา Create/Rebuild PHP-FPM แล้วสร้างค่าที่ต้องการอัตโนมัติ

1) สำรองไฟล์ก่อน

cp -a /usr/local/directadmin/data/templates/php-fpm.conf \
/usr/local/directadmin/data/templates/php-fpm.conf.bak
cp -a /usr/local/directadmin/data/templates/php-isolated-fpm.conf \
/usr/local/directadmin/data/templates/php-isolated-fpm.conf.bak

2) เปิดแก้

nano /usr/local/directadmin/data/templates/php-fpm.conf

และ

nano /usr/local/directadmin/data/templates/php-isolated-fpm.conf

ให้ส่วน pm เป็นแบบนี้

pm = dynamic
pm.max_children = |MAX_CHILDREN|
pm.start_servers = 50
pm.min_spare_servers = 30
pm.max_spare_servers = 100
pm.max_requests = 3000
pm.process_idle_timeout = 30s
request_terminate_timeout = 120s

อย่าเปลี่ยน pm.maxchildren = |MAXCHILDREN|

ให้เป็นตัวเลข เพราะ DirectAdmin จะนำค่าจาก Config มาแทนที่เอง

3) ตั้งค่า Default

/usr/local/directadmin/directadmin config-set php_fpm_max_children_default 500

ตรวจสอบ

/usr/local/directadmin/directadmin config-get php_fpm_max_children_default

ควรได้ 500

4) Rebuild Config

echo "action=rewrite&value=php" >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d

หรือเฉพาะ User

echo "action=rewrite&value=httpd&user=huaydeejai" >> /usr/local/directadmin/data/task.queue
/usr/local/directadmin/dataskq d

กรณีมี user เดิม เข้าไปดูได้ที่

cd /usr/local/directadmin/data/users/

และ ชื่อ user โฟเดอร์ php

ตัวอย่างค่าสำหรับ cpu4 ram8

pm = dynamic
pm.max_children = 60
pm.start_servers = 8
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 2000
pm.process_idle_timeout = 20s
request_terminate_timeout = 120s