ब्लॉग पर वापस जाएं
जनवरी 13, 2026गाइड

इष्टतम प्रदर्शन के लिए PHP-FPM कैसे कॉन्फ़िगर करें

PHP-FPM पूल सेटिंग्स, प्रदर्शन ट्यूनिंग और Nginx के साथ एकीकरण को कॉन्फ़िगर करने पर पूर्ण गाइड।

इष्टतम प्रदर्शन के लिए PHP-FPM कैसे कॉन्फ़िगर करें

PHP-FPM (FastCGI Process Manager) एक वैकल्पिक PHP FastCGI कार्यान्वयन है जिसमें उच्च-ट्रैफ़िक वाली वेबसाइटों के लिए उपयोगी अतिरिक्त सुविधाएँ हैं। उचित कॉन्फ़िगरेशन आपके सर्वर के प्रदर्शन और संसाधन उपयोग में काफी सुधार कर सकता है।

PHP-FPM इंस्टॉल करना

bash
# उबंटू/डेबियन
sudo apt update
sudo apt install php-fpm php-mysql php-mbstring php-xml php-curl -y

# सेंटओएस/RHEL
sudo yum install php-fpm php-mysql php-mbstring php-xml php-curl -y

# PHP-FPM शुरू और सक्षम करें
sudo systemctl start php-fpm
sudo systemctl enable php-fpm

PHP-FPM पूल कॉन्फ़िगर करना

प्रदर्शन को अनुकूलित करने के लिए पूल कॉन्फ़िगरेशन फ़ाइल संपादित करें:

bash
sudo nano /etc/php/8.1/fpm/pool.d/www.conf

# मुख्य सेटिंग्स:
user = www-data
group = www-data
listen = /run/php/php8.1-fpm.sock
listen.owner = www-data
listen.group = www-data

# प्रोसेस प्रबंधन
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 15
pm.max_requests = 500

प्रदर्शन ट्यूनिंग

अपने सर्वर के संसाधनों के लिए PHP-FPM को अनुकूलित करें:

bash
# इष्टतम max_children की गणना करें:
# (कुल RAM - अन्य सेवाएँ) / (प्रति PHP प्रक्रिया मेमोरी)
# उदाहरण: (2GB - 500MB) / 50MB = 30 max_children

# बेहतर प्रदर्शन के लिए php.ini संपादित करें
sudo nano /etc/php/8.1/fpm/php.ini

# अनुशंसित सेटिंग्स:
memory_limit = 256M
max_execution_time = 300
upload_max_filesize = 64M
post_max_size = 64M

# PHP-FPM पुनरारंभ करें
sudo systemctl restart php-fpm

Nginx कॉन्फ़िगरेशन

PHP-FPM के साथ काम करने के लिए Nginx कॉन्फ़िगर करें:

bash
sudo nano /etc/nginx/sites-available/yourdomain.com

# PHP हैंडलिंग जोड़ें:
location ~ \.php$ {
    include snippets/fastcgi-php.conf;
    fastcgi_pass unix:/run/php/php8.1-fpm.sock;
    fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
    include fastcgi_params;
}

# परीक्षण करें और Nginx पुनः लोड करें
sudo nginx -t
sudo systemctl reload nginx

PHP-FPM की निगरानी

bash
# PHP-FPM स्थिति जांचें
sudo systemctl status php-fpm

# PHP-FPM प्रक्रियाएं देखें
ps aux | grep php-fpm

# पूल स्थिति जांचें (यदि स्थिति पृष्ठ सक्षम है)
curl http://localhost/status

# लॉग देखें
sudo tail -f /var/log/php8.1-fpm.log

PHP-FPM अनुकूलन सुझाव

  • उपलब्ध RAM के आधार पर pm.max_children समायोजित करें
  • अधिकांश उपयोग के मामलों के लिए pm = dynamic का उपयोग करें
  • मेमोरी लीक को रोकने के लिए pm.max_requests सेट करें
  • बेहतर प्रदर्शन के लिए opcache सक्षम करें
  • नियमित रूप से PHP-FPM स्थिति की निगरानी करें
  • विभिन्न एप्लिकेशनों के लिए अलग पूल का उपयोग करें
  • PHP और PHP-FPM को अपडेट रखें