Adım 1: PHP-FPM'yi Yükleme
İlk adım, PHP-FPM'yi sisteminize yüklemek. Linux dağıtımınıza göre bu işlem biraz farklılık gösterebilir, ancak genel olarak şu komutları takip edebilirsiniz:
# Debian/Ubuntu tabanlı sistemlerde
sudo apt update
sudo apt install php-fpm
# CentOS/RHEL tabanlı sistemlerde
sudo yum install php-fpm
PHP-FPM'yi yüklemek çok basit! Komutları terminalinize yazın, yükleme işlemi otomatik olarak gerçekleşecektir. Ama yükledikten sonra durmak yok! PHP-FPM'yi aktif hale getirmek için birkaç ayar yapmamız gerekiyor.
Adım 2: PHP-FPM Konfigürasyon Dosyasını Düzenleme
PHP-FPM kurulumunu tamamladıktan sonra, sisteminizi optimize etmek için bazı konfigürasyon dosyalarını düzenlememiz gerekiyor. PHP-FPM'nin ayarları genellikle `/etc/php/7.x/fpm/php-fpm.conf` ve `/etc/php/7.x/fpm/pool.d/www.conf` dosyalarında bulunur.
İlk olarak, `php-fpm.conf` dosyasını açalım:
sudo nano /etc/php/7.x/fpm/php-fpm.conf
Burada bazı önemli parametreleri düzenlemeniz gerekebilir. Örneğin, `pm.max_children` parametresi, PHP-FPM'nin kaç işlemci çocuk çalıştıracağına karar verir. Eğer web siteniz yoğun trafik alıyorsa, bu sayıyı artırmak faydalı olabilir. Aynı şekilde, `pm.start_servers` ve `pm.min_spare_servers` gibi parametrelerle de performansı optimize edebilirsiniz.
Daha sonra, PHP-FPM havuzunun yapılandırıldığı dosya olan `www.conf` dosyasını açın:
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
Burada, kullanıcı ve grup ayarlarını, `listen` parametresini ve daha birçok ayarı kontrol edebilirsiniz. Eğer birden fazla web sitesi barındırıyorsanız, her birine farklı PHP-FPM havuzları oluşturmanız gerekebilir.
Adım 3: PHP-FPM'yi Başlatma ve Yeniden Başlatma
Konfigürasyon dosyalarını düzenledikten sonra, PHP-FPM servisini yeniden başlatmamız gerekiyor. PHP-FPM'yi başlatmak ve yeniden başlatmak için şu komutları kullanabilirsiniz:
# Servisi başlatmak
sudo systemctl start php7.x-fpm
# Servisi yeniden başlatmak
sudo systemctl restart php7.x-fpm
# Servisin otomatik olarak başlamasını sağlamak
sudo systemctl enable php7.x-fpm
Yeniden başlattıktan sonra PHP-FPM'nin düzgün çalışıp çalışmadığını kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
sudo systemctl status php7.x-fpm
Eğer her şey doğruysa, PHP-FPM başarılı bir şekilde çalışıyor olacaktır!
Adım 4: Web Sunucusu ile Entegre Etme
PHP-FPM'yi çalıştırmak yeterli değil, şimdi web sunucusu ile entegrasyonu yapmamız gerekiyor. Apache ya da Nginx gibi web sunucuları kullanıyorsanız, PHP-FPM ile uyumlu hale getirmek için bazı küçük ayarlamalar yapmalısınız.
Apache için, `mod_proxy_fcgi` modülünü aktif hale getirin:
sudo a2enmod proxy_fcgi setenvif
sudo systemctl restart apache2
Sonrasında, Apache konfigürasyon dosyanızı düzenleyerek PHP-FPM ile iletişim kurmasını sağlayın. Nginx kullanıyorsanız, aşağıdaki gibi PHP-FPM'yi kullanacak şekilde yapılandırın:
server {
listen 80;
server_name example.com;
location ~ \.php$ {
fastcgi_pass unix:/var/run/php/php7.x-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
Nginx'i ve Apache'yi yapılandırarak PHP-FPM ile entegre ettikten sonra, web siteniz hızlanacak ve verimliliği artacaktır!
Adım 5: PHP-FPM Performansını İzleme ve Optimizasyon
PHP-FPM'yi kurduktan sonra, performansını izlemek ve optimize etmek çok önemlidir. `php-fpm-status` sayfasını aktif hale getirerek PHP-FPM'nin durumunu gözlemleyebilirsiniz. Bu sayede, hangi işlemlerin çalıştığını ve hangi kaynakların yoğun kullanıldığını anlayabilirsiniz.
PHP-FPM'nin izleme sayfasını etkinleştirmek için şu adımları izleyebilirsiniz:
sudo nano /etc/php/7.x/fpm/pool.d/www.conf
`status_path` parametresini bulup şu şekilde yapılandırın:
status_path = /status
Sonrasında, web sunucusunun yapılandırmasına bu sayfanın erişimini ekleyin.
Sonuç
PHP-FPM'nin Linux'ta kurulumu ve ayarları, doğru adımlar izlendiğinde oldukça kolay bir süreçtir. Web sunucunuzla entegrasyon yaparak, sitenizin hızını ve performansını büyük ölçüde artırabilirsiniz. Yüksek trafikli web siteleri için PHP-FPM, verimliliği arttırarak kullanıcı deneyimini iyileştirir. Şimdi, bu güçlü aracı kullanmaya başlamak için sadece birkaç adım kaldı!