Nginx web sunucusuna php derleme özelliği kazandırma

Nginx web sunucusuna php derleme özelliği ekleme

İlk yazımda basit olarak Server 2008 R2 üzerine Nginx kurulumunu ve web site yayımlanmasını anlatmıştım.  Bu yazıda ise Nginx sunucuya Php derleme özelliği kazandırarak “.php” dosyalarımızın yorumlanmasını sağlayacağız.

İlk olarak “Microsoft Visual C++ Redistributable Packages” windows sürümünüze uygun olarak bilgisayarımıza indirerek kuruyoruz. Bunu kurmadığımız takdirde php’yi başlatırken dll hatası alcaksınız. “https://www.microsoft.com/tr-TR/download/details.aspx?id=48145” adresine girerek Microsoft visual c++ redistributable package’i indirebilirsiniz.

download microsoft visual c++ redistributable package indiriyoruz

Şimdide “http://windows.php.net/download/” adresine girerek işletim sistemimizle(x86/x64) uyumlu olan sürümü indiriyoruz.

windows için php indirme

Eğer IIS üzerinde Php çalıştıracaksanız “Non Thread Safe”,  Nginx gibi web sunucuları üzerinde Php çalıştıracaksanız “Thread Safe” yazanı indirmelisiniz.

Thread Safe yani İş parçacığı Güvenliği, verilerin başka bir iş parçacığıyla çarpışmamasını sağlamak için her iş parçacığında bir yerel depolama kopyası oluşturarak çalışması anlamına gelir.

Örneğin: Fastcgi ile Apache’yi birlikte kullanıyorusanız “Non Thread Safe” fakat Fastcgi Apache ve Loadmodule birlikte kullanıyorsanız “Thread Safe” sürümünü indirmelisiniz. Ben x64 Non Thread Safe olanı indiriyorum.

Sıkıştırılmış dosya içerisindekileri çıkartıyorum php-7.1.12-nts-Win32-VC14-x64 klasörüne dosyaları çıkartıyor fakat bunu hem daha anlamlı hemde daha kısa hale getirmek için klasörün adını “php” olarak adlandırıyorum.

Php olarak isimlendirdiğim klasörü C:\ sürücüme atıyorum.

Php klasörünü C sürücüsüne kopyalıyoruz

Php klasörünün içerisine girerek “php.ini.development” adlı dosyayı buluyoruz.

php ini development dosyasını buluyoruz

Dosyanın adını “php.ini” olarak düzeltiyoruz ve bir metin editörüyle açıyoruz.

“doc_root” ve “extension_dir” satırlarını buluyoruz.

doc_root = “C:/nginx/html” satırını Nginx’te site dosyalarımızı barındırıdığımız dizinin yolunu map ediyoruz.

extension_dir = “ext” satırını ise extension_dir = “C:/php/ext” şeklinde Php klasörümüz içerisindeki ext dizinini map ediyoruz. Slash’ların yönüne dikkat edin.

php ini ayarları

Ve dosyayı kaydediyoruz.

Nginx dizinine girek conf dosyası içerisindeki nginx.conf dosyasını metin editörü ile açıyoruz.

html derleme kısmını kapatıyoruz

Html dosyalarını yorumlattığımız satırlarının başına # işareti koyarak satırların işlenmemesini sağlıyoruz.

Pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000 kısmına geliyoruz. Aşağıdaki satırların başındaki # işaretini kaldırıyoruz.

location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
include fastcgi_params;
}

Ve dosyayı kaydediyoruz.

Nginx php script derleme ayarları

Şimdi “C:/nginx/html” dizinine geri dönerek bir adet index.php dosyası yaratarak içerisine <?php phpinfo(); ?> yazarak dosyayı kaydediyoruz.

php info fonksiyonu

Ms-Dos penceresini açarak Php dosyalarını kopyaladığımız dizine gidiyoruz. (C:\php)

“php-cgi.exe -b 127.0.0.1:9000” komutunu yazarak enter’a basıyoruz. FastCgi çalışmaya başlayacaktır. Dilerseniz bu portu Nginx conf dosyası içerisinden değiştirebilirsiniz.

php cgi exe yi çalıştırıyoruz

Şimdi  “C:/nginx” dizinine gelerek “Nginx.exe” ye tıklayarak sunucumuzu çalıştırıyoruz.

nginx exe çalıştırıyoruz

Şimdi Browser’ımızı açarak “localhost/index.php” yazarak enter’a basıyoruz.

nginx üzerinde php çalışıyor

Sizde Üyelerimiz Arasında Yer Alın !

Yeni konu ve içerikleri yakından takip edin....

Üye olursanız sık sık bildirimler alacaksınız. Üye olmadan önce bu tür durumlardan rahatsız olup olmayacağınızı gözden geçirin.

Yazar Hakkında Bilgi

Uzun yıllardır IT sektöründe bulunmaktayım. Bu blog teknolojik konularda kullanıcıları bilgilendirme, yardımcı olabilme amacı taşır. Fikir ve önerileriz konusunda bizlere iletişim bölümümüz üzerinden ulaşabilirsiniz.

Bir Yorum Yaz