อันนี้เป็นประสบการณ์กากๆของผมที่ทำต้องจัดการให้เซิฟเวอร์ที่ใช้ DirectAdmin อยู่ สามารถรองรับจำนวนคนได้เยอะๆครับ วิธีการง่ายๆดังนี้ครับ
cd /usr/local/directadmin/custombuild ./build version
ดูว่าเลขหน้าสุดเป็นเลข 2 ไหมครับ ถ้าไม่ ให้ทำการปรับ CustomBuild เป็นเวอร์ชั่น 2 ครับ โดยสามารถทำได้ตามลิงค์นี้ครับ หรือสั่งคำสั่งด้านล่างนี้ครับ (คำเตือน Backup ทุกอย่างก่อน Update ทุกครั้ง)
cd /usr/local/directadmin mv custombuild custombuild_1.x wget -O custombuild.tar.gz http://files.directadmin.com/services/custombuild/2.0/custombuild.tar.gz tar xvzf custombuild.tar.gz cd custombuild ./build ./build all d ./build rewrite_confs
cd /usr/local/directamin/custombuild ./build update ./build update_da ./build set webserver nginx_apache ./build nginx_apache ./build rewrite_confs
cd /usr/local/src wget https://github.com/y-ken/mod_rpaf/archive/master.zip unzip master.zip cd mod_rpaf-master /bin/sed -i "s/remote_/client_/g" mod_rpaf-2.0.c make && make install
จากนั้นไปที่ /etc/httpd/conf/extra/httpd-includes.conf แล้วเพิ่มข้อความต่อไปนี้ลงล่างสุดครับ
LoadModule rpaf_module /usr/lib/apache/mod_rpaf-2.0.so <IfModule mod_rpaf-2.0.c> RPAFenable On RPAFproxy_ips 127.0.0.1 RPAFsethostname On RPAFheader X-Client-IP </IfModule>
sysctl -w net.core.somaxconn=100000
และเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ /etc/sysctl.conf
net.core.somaxconn=100000
sysctl -w net.ipv4.ip_local_port_range="10000 65535"
และเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ /etc/sysctl.conf
net.ipv4.ip_local_port_range=10000 65535
sysctl -w net.ipv4.tcp_tw_reuse=1
และเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ /etc/sysctl.conf
net.ipv4.tcp_tw_reuse=1
sysctl -w net.ipv4.ip_nonlocal_bind=1
และเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ /etc/sysctl.conf
net.ipv4.ip_nonlocal_bind=1
ulimit -n 999999
และเพิ่มบรรทัดต่อไปนี้ลงในไฟล์ /etc/security/limits.conf
* soft nofile 999999 * hard nofile 999999
cd /usr/local/directadmin/data/templates/custom wget "https://www.ishare.in.th/wp-content/uploads/2015/02/conf.zip" unzip conf.zip rm -f conf.zip cd /usr/local/directadmin/custombuild ./build rewrite_confs service nginx reload
เพียงเท่านี้ Nginx ก็จะให้บริการ Static File ส่วนมากให้ทันที (ผมอาจจะ list ไม่หมดเพราะผมก็ไปคัดลอกจากที่อื่นมาครับ)
เพียงเท่านี้ก็คิดว่าเซิฟเวอร์ปัจจุบันของท่านก็น่าจะรับโหลดเพิ่มขึ้นได้อีกเยอะครับ หากยังไม่สามารถรองรับได้อีก อาจจะต้องปรับ nginx ให้ cache หน้าที่ประมวลผลไว้สักหน้าละ 10 – 60 วิ แล้วแต่กรณีไป แต่พอดีที่ๆผมทำงาน Implement ระบบ Cache ด้านในไว้ เลยไม่มีปัญหามากครับ