Konuyu Açan
#0
FreeBSD üzerinde bir web sunucusu kurmak demek, hem güvenli hem de performanslı bir altyapı elde etmek demektir. İster kişisel bir proje olsun, isterse de daha büyük ölçekli bir uygulama, Nginx ve PHP-FPM kombinasyonu, bu ortamda oldukça popüler bir tercih. İlk adım olarak, FreeBSD işletim sistemini kurduktan sonra, terminal üzerinden gerekli paketleri yüklemeye başlayalım. `pkg install nginx php74 php74-fpm` komutuyla hem Nginx hem de PHP-FPM’in kurulumunu yapabiliriz. Burada dikkat edilmesi gereken nokta, PHP sürümünü ihtiyacınıza göre değiştirebilirsiniz.
Nginx'in konfigürasyon dosyası genellikle `/usr/local/etc/nginx/nginx.conf` yolunda bulunur. İlk olarak, bu dosyayı bir metin düzenleyici ile açarak varsayılan ayarları incelemekte fayda var. `server` bloğuna göz atmak, sunucunun hangi portta dinleyeceğini ve hangi kök dizinine (root) sahip olacağını belirler. Örneğin, `listen 80;` satırı, HTTP trafiği için port 80’i dinleyeceğini gösterir. Burada kendi projenizin kök dizinini belirtmeyi unutmayın.
PHP-FPM ile Nginx’in entegrasyonunu sağlamak için, Nginx konfigürasyon dosyasında bir `location` bloğu oluşturmalıyız. PHP dosyalarının doğru bir şekilde işlenebilmesi için `fastcgi_pass` direktifi kullanılır. Örneğin, `location ~ \.php$ {` satırından sonra gelen kısımda, `fastcgi_pass 127.0.0.1:9000;` ifadesi, PHP-FPM’in dinlediği bağlantı noktasını belirtir. Unutmayın, PHP-FPM’in varsayılan olarak 9000 portunu kullandığı için, bu portun doğru ayarlandığından emin olmalısınız.
Sunucuyu başlattıktan sonra, `service nginx start` komutunu kullanarak Nginx'i çalıştırabilirsiniz. Ardından `service php-fpm start` ile PHP-FPM’i başlatmayı da unutmayalım. Her iki servisin de düzgün çalıştığını kontrol etmek için tarayıcıda basit bir `info.php` dosyası oluşturup, içerisine `<?php phpinfo(); ?>` yazmak yeterli. Bu dosyayı Nginx’in kök dizinine koyduktan sonra tarayıcıdan erişmeyi deneyin. Eğer her şey yolunda ise, PHP’nin yapılandırma bilgilerini göreceksiniz.
Firewall ayarlarına dikkat etmek de önemlidir. FreeBSD’de `pf` (Packet Filter) kullanarak, gelen istekleri kontrol edebilir ve sadece belirlediğiniz portların açık olmasını sağlayabilirsiniz. Örneğin, `pass in on en0 proto tcp from any to any port 80` gibi bir kural ekleyerek HTTP trafiğine izin verebilirsiniz. Bu, sunucunuzun daha güvenli olmasına katkı sağlar.
Özellikle yüksek trafikli bir uygulama üzerinde çalışıyorsanız, Nginx’in `worker_processes` ve `worker_connections` ayarlarını optimize etmekte fayda var. Bu ayarlar, sunucunun kaç paralel bağlantıyı işleyebileceğini belirler. `worker_processes auto;` kullanarak, FreeBSD’nin mevcut CPU çekirdeklerine göre otomatik olarak ayarlama yapmasını sağlayabilirsiniz. Ancak, `worker_connections` değerinin de yeterince yüksek olması gerektiğini unutmayın...
Sonuç olarak, FreeBSD üzerinde Nginx ve PHP-FPM kurmak, biraz teknik bilgi ve dikkat gerektiren bir süreç ama sonuçları oldukça tatmin edici. Performanslı ve güvenli bir web sunucusu elde etmenin keyfini çıkarın. Unutmayın, her zaman güncel kalmak ve sisteminizi takip etmek, uzun vadede işinizi kolaylaştıracaktır.
Nginx'in konfigürasyon dosyası genellikle `/usr/local/etc/nginx/nginx.conf` yolunda bulunur. İlk olarak, bu dosyayı bir metin düzenleyici ile açarak varsayılan ayarları incelemekte fayda var. `server` bloğuna göz atmak, sunucunun hangi portta dinleyeceğini ve hangi kök dizinine (root) sahip olacağını belirler. Örneğin, `listen 80;` satırı, HTTP trafiği için port 80’i dinleyeceğini gösterir. Burada kendi projenizin kök dizinini belirtmeyi unutmayın.
PHP-FPM ile Nginx’in entegrasyonunu sağlamak için, Nginx konfigürasyon dosyasında bir `location` bloğu oluşturmalıyız. PHP dosyalarının doğru bir şekilde işlenebilmesi için `fastcgi_pass` direktifi kullanılır. Örneğin, `location ~ \.php$ {` satırından sonra gelen kısımda, `fastcgi_pass 127.0.0.1:9000;` ifadesi, PHP-FPM’in dinlediği bağlantı noktasını belirtir. Unutmayın, PHP-FPM’in varsayılan olarak 9000 portunu kullandığı için, bu portun doğru ayarlandığından emin olmalısınız.
Sunucuyu başlattıktan sonra, `service nginx start` komutunu kullanarak Nginx'i çalıştırabilirsiniz. Ardından `service php-fpm start` ile PHP-FPM’i başlatmayı da unutmayalım. Her iki servisin de düzgün çalıştığını kontrol etmek için tarayıcıda basit bir `info.php` dosyası oluşturup, içerisine `<?php phpinfo(); ?>` yazmak yeterli. Bu dosyayı Nginx’in kök dizinine koyduktan sonra tarayıcıdan erişmeyi deneyin. Eğer her şey yolunda ise, PHP’nin yapılandırma bilgilerini göreceksiniz.
Firewall ayarlarına dikkat etmek de önemlidir. FreeBSD’de `pf` (Packet Filter) kullanarak, gelen istekleri kontrol edebilir ve sadece belirlediğiniz portların açık olmasını sağlayabilirsiniz. Örneğin, `pass in on en0 proto tcp from any to any port 80` gibi bir kural ekleyerek HTTP trafiğine izin verebilirsiniz. Bu, sunucunuzun daha güvenli olmasına katkı sağlar.
Özellikle yüksek trafikli bir uygulama üzerinde çalışıyorsanız, Nginx’in `worker_processes` ve `worker_connections` ayarlarını optimize etmekte fayda var. Bu ayarlar, sunucunun kaç paralel bağlantıyı işleyebileceğini belirler. `worker_processes auto;` kullanarak, FreeBSD’nin mevcut CPU çekirdeklerine göre otomatik olarak ayarlama yapmasını sağlayabilirsiniz. Ancak, `worker_connections` değerinin de yeterince yüksek olması gerektiğini unutmayın...
Sonuç olarak, FreeBSD üzerinde Nginx ve PHP-FPM kurmak, biraz teknik bilgi ve dikkat gerektiren bir süreç ama sonuçları oldukça tatmin edici. Performanslı ve güvenli bir web sunucusu elde etmenin keyfini çıkarın. Unutmayın, her zaman güncel kalmak ve sisteminizi takip etmek, uzun vadede işinizi kolaylaştıracaktır.