PHP คืออะไร และวิธีตั้งค่าบน Cloud Server
PHP คือภาษาที่เว็บส่วนใหญ่ในโลกใช้ รวมถึง WordPress, WooCommerce และ Laravel การตั้งค่าและปรับแต่งให้ถูกต้องจึงเป็นสิ่งที่กระทบความเร็วของเว็บโดยตรง
- หมวดหมู่
- ภาษาโปรแกรมและ Framework
- ติดตั้งบนเซิร์ฟเวอร์เองได้
- ได้
- สเปกเริ่มต้นที่แนะนำ
- 2 vCPU · RAM 4 GB
- ไลเซนส์
- PHP License (โอเพนซอร์ส)
- เว็บทางการ
- เปิดเว็บไซต์
- ISO/IEC 27001
- ISO 22301
- ISO 20000-1
- CSA-STAR
Data Center ในไทย มาตรฐาน TIA-942 Tier 3+ ข้อมูลอยู่ในประเทศไทย
PHP คืออะไร
PHP ถูกออกแบบมาเพื่อสร้างหน้าเว็บโดยเฉพาะตั้งแต่ต้น ทำให้เรียนรู้ง่ายและมีระบบนิเวศที่ใหญ่มาก ทั้งระบบจัดการเนื้อหา ระบบร้านค้า และเฟรมเวิร์กสำหรับพัฒนาเว็บ
รุ่นใหม่ตั้งแต่รุ่นแปดขึ้นไปเร็วกว่ารุ่นเก่าอย่างมีนัยสำคัญและมีความสามารถของภาษาสมัยใหม่ครบ เว็บที่ยังใช้รุ่นเก่าจึงควรอัปเกรดเพราะได้ทั้งความเร็วและการรองรับด้านความปลอดภัย
ในการใช้งานจริง สิ่งที่กระทบความเร็วมากที่สุดไม่ใช่ตัวภาษาแต่เป็นการตั้งค่า ทั้งจำนวนกระบวนการที่รองรับคำขอพร้อมกัน หน่วยความจำที่จัดสรร และการเปิดแคชของโค้ดที่คอมไพล์แล้ว
ความสามารถเด่นของ PHP
ระบบนิเวศเว็บที่ใหญ่ที่สุด
มีระบบจัดการเนื้อหาและเฟรมเวิร์กให้เลือกจำนวนมาก
รุ่นใหม่เร็วกว่ารุ่นเก่ามาก
อัปเกรดแล้วเว็บเร็วขึ้นโดยแทบไม่ต้องแก้โค้ด
มีแคชของโค้ดที่คอมไพล์แล้ว
ลดงานประมวลผลซ้ำและเพิ่มความเร็วอย่างชัดเจน
หาคนที่เขียนเป็นได้ง่าย
มีนักพัฒนาในตลาดจำนวนมากทั้งในไทยและต่างประเทศ
ใช้ทรัพยากรไม่มาก
เว็บทั่วไปรันบนเครื่องสเปกไม่สูงได้
ใช้ PHP ทำอะไรได้บ้าง
- เว็บ WordPress และเว็บร้านค้าออนไลน์
- ระบบภายในองค์กรที่พัฒนาด้วย Laravel
- เว็บเนื้อหาที่ต้องการระบบจัดการที่ทีมใช้ง่าย
- โครงการที่ต้องการหาคนพัฒนาต่อได้ง่าย
สเปก Cloud Server ที่แนะนำ
| ระดับการใช้งาน | vCPU | RAM | Disk |
|---|---|---|---|
| เริ่มต้นเว็บเดียวที่มีผู้ชมไม่มาก | 2 vCPU | 4 GB | NVMe 40 GB |
| แนะนำเว็บงานจริงหรือหลายเว็บบนเครื่องเดียว | 4 vCPU | 8 GB | NVMe 80 GB |
| ทราฟฟิกสูงเว็บที่มีผู้ชมพร้อมกันจำนวนมาก | 8 vCPU ขึ้นไป | 16 GB ขึ้นไป | NVMe 150 GB ขึ้นไป |
ดูราคาตามสเปกได้ที่ ราคา Cloud Compute หรือให้ทีมงานช่วยประเมินสเปกจากปริมาณผู้ใช้จริงของคุณ
วิธีติดตั้ง PHP บน Cloud Server ของ THAI DATA CLOUD
ขั้นตอนด้านล่างใช้กับ Cloud Server ที่เพิ่งสร้างใหม่จากหน้าจัดการของ THAI DATA CLOUD ได้ทันที ถ้าไม่สะดวกทำเอง ทีมวิศวกรของเราติดตั้งและตั้งค่าให้ฟรีสำหรับลูกค้า Cloud Server
สิ่งที่ต้องเตรียม
- Ubuntu Server 24.04 LTS หรือ Rocky Linux 9
- Nginx หรือ Apache
- MariaDB หรือ MySQL สำหรับเว็บที่ใช้ฐานข้อมูล
- ส่วนขยายที่แอปหรือระบบจัดการเนื้อหาต้องใช้
ทดสอบบน Ubuntu Server 24.04 LTS
- 1
ติดตั้ง PHP และส่วนขยายที่ใช้บ่อย
sudo apt update sudo apt -y install nginx php8.3-fpm php8.3-mysql php8.3-curl php8.3-gd \ php8.3-mbstring php8.3-xml php8.3-zip php8.3-intl php8.3-opcache php -v - 2
ปรับค่าหลักใน php.ini
ตั้งขนาดไฟล์อัปโหลดและหน่วยความจำให้พอกับที่แอปต้องใช้ และปิดการแสดงข้อผิดพลาดบนหน้าเว็บในระบบจริง
# /etc/php/8.3/fpm/php.ini memory_limit = 256M upload_max_filesize = 64M post_max_size = 64M max_execution_time = 120 display_errors = Off expose_php = Off - 3
เปิดแคชของโค้ดที่คอมไพล์แล้ว
ค่านี้มีผลกับความเร็วมากที่สุดค่าหนึ่ง ควรตั้งขนาดหน่วยความจำให้พอกับจำนวนไฟล์ของแอป
opcache.enable=1 opcache.memory_consumption=256 opcache.max_accelerated_files=20000 opcache.validate_timestamps=1 opcache.revalidate_freq=60 - 4
ปรับจำนวนกระบวนการให้เหมาะกับ RAM
ตั้งจำนวนกระบวนการสูงสุดจาก RAM ที่มีหารด้วยหน่วยความจำที่แต่ละกระบวนการใช้จริง มิฉะนั้นเครื่องจะหน่วยความจำหมดเมื่อมีผู้ชมพร้อมกันมาก
# /etc/php/8.3/fpm/pool.d/www.conf pm = dynamic pm.max_children = 30 pm.start_servers = 6 pm.min_spare_servers = 4 pm.max_spare_servers = 10 pm.max_requests = 500 - 5
เชื่อมกับ Nginx
location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/run/php/php8.3-fpm.sock; fastcgi_read_timeout 120; } - 6
ตรวจการใช้ทรัพยากรจริงหลังปรับค่า
ดูว่าแต่ละกระบวนการใช้หน่วยความจำเท่าไรจริง แล้วปรับจำนวนกระบวนการสูงสุดให้สอดคล้อง เพราะค่าที่ตั้งสูงเกินทำให้เครื่องล่มเมื่อมีผู้ชมพร้อมกันมาก
sudo systemctl restart php8.3-fpm nginx ps --no-headers -o rss -C php-fpm8.3 | awk '{s+=$1} END {print s/NR/1024 " MB เฉลี่ยต่อกระบวนการ"}'
อย่าตั้งจำนวนกระบวนการสูงสุดสูงเกินกว่าที่ RAM รองรับ เพราะเมื่อผู้ชมเข้ามาพร้อมกันมาก เครื่องจะหน่วยความจำหมดและเว็บล่มทั้งระบบแทนที่จะแค่ช้าลง
พอร์ตที่ต้องเปิดบน Firewall
| พอร์ต | โปรโตคอล | ใช้ทำอะไร |
|---|---|---|
| 443 | TCP | HTTPS ผ่านเว็บเซิร์ฟเวอร์ |
| 80 | TCP | HTTP และการต่ออายุใบรับรอง |
สิ่งที่ควรทำต่อหลังติดตั้งเสร็จ
- ปิดการแสดงข้อผิดพลาดบนหน้าเว็บในระบบจริง
- ซ่อนข้อมูลเวอร์ชันของภาษาในส่วนหัวการตอบกลับ
- ปิดฟังก์ชันอันตรายที่แอปไม่ได้ใช้
- ใช้รุ่นที่ยังได้รับการอัปเดตความปลอดภัยเสมอ
- จำกัดสิทธิ์ไฟล์ให้เว็บเซิร์ฟเวอร์เขียนได้เฉพาะโฟลเดอร์ที่จำเป็น
ทำไมควรรัน PHP บน Cloud Server ของ THAI DATA CLOUD
Data Center ในประเทศไทย มาตรฐาน ISO/IEC 27001 และ ISO 22301 พร้อมทีมวิศวกรคนไทยดูแลตลอด 24 ชั่วโมง
ปรับสเปกได้ตามจำนวนผู้ชมจริง ไม่ต้องซื้อเผื่อ
รันหลายเว็บบน Cloud Server เครื่องเดียวได้เมื่อทราฟฟิกไม่สูง
ใช้ร่วมกับ Redis และ Cloud CDN เพื่อลดภาระของ PHP อย่างชัดเจน
คำถามที่พบบ่อยเกี่ยวกับ PHP
ควรใช้ PHP รุ่นไหน
ควรใช้รุ่นที่ยังได้รับการอัปเดตความปลอดภัยเสมอ ซึ่งปัจจุบันคือรุ่นแปดขึ้นไป เพราะเร็วกว่ารุ่นเก่ามากและรุ่นที่หมดการรองรับแล้วจะไม่ได้รับแพตช์เมื่อพบช่องโหว่
ทำอย่างไรให้เว็บ PHP เร็วขึ้น
สามสิ่งที่ให้ผลมากที่สุดคือเปิดแคชของโค้ดที่คอมไพล์แล้ว ใช้ Redis แคชผลคิวรีฐานข้อมูล และปรับจำนวนกระบวนการให้เหมาะกับ RAM ทั้งสามอย่างทำได้โดยไม่ต้องแก้โค้ด
ตั้งจำนวนกระบวนการเท่าไรดี
คำนวณจาก RAM ที่เหลือหลังหักส่วนที่ระบบและฐานข้อมูลใช้ หารด้วยหน่วยความจำเฉลี่ยที่แต่ละกระบวนการใช้จริง แล้วเผื่อไว้เล็กน้อย ค่าที่สูงเกินทำให้เครื่องล่มเมื่อมีผู้ชมพร้อมกันมาก
ทางเลือกอื่นที่คล้ายกับ PHP
แอปอื่นในหมวด ภาษาโปรแกรมและ Framework
บริการของ THAI DATA CLOUD ที่เกี่ยวข้อง
ให้เราติดตั้ง PHP ให้ฟรี บน Cloud Server ในไทย
แจ้งความต้องการสั้น ๆ ทีมวิศวกรจะช่วยประเมินสเปก ติดตั้ง และตั้งค่าความปลอดภัยให้พร้อมใช้งาน ปรึกษาฟรี ไม่มีข้อผูกมัด