English
← Bloga dön

Nginx, Memcache ve CakePHP

Arşiv notu: Bu tarihsel yazı, eski Windows geliştirme araçlarını ve PHP sürümlerini anlatır. Sürüm, güncellik, popülerlik ve kişisel kullanım ifadeleri yazının özgün dönemine aittir; güncel kurulum veya güvenlik önerisi değildir. Eski paketleri bu yazıya dayanarak kurmayın.

Merhabalar, bu yazımda genelde sunucu ortamında kullandığım Nginx’in Windows bilgisayardaki çalışma ortamında da kullanılmasını anlatacağım. Nginx genellikle Linux sunucularda kuruluydu. Windows tarafında kod geliştirirken Nginx’i kurup PHP entegrasyonunu yapmak ve üzerine MySQL gibi bileşenleri bağlamak oldukça zahmetliydi. PHP pool yapılandırmalarıyla çalıştırmaya uğraşmak yerine hızlı çözümler kullanıyorduk: AppServ, WAMP (Windows, Apache, MySQL, PHP) ve XAMPP gibi; Apache, MySQL, phpMyAdmin ve Xdebug entegrasyonuyla geliştirme ortamını hızlıca kurmaya yarayan Windows tabanlı sistemler.

Ancak sorun şu: Yerelde yazdığınız kod Apache üzerinde çalışıyor ve sisteminiz .htaccess kullanıyor, sunucunuz ise Nginx. Bu durumda .htaccess kurallarını Nginx location kurallarına dönüştürmek gerekiyordu. .htaccess ne kadar karmaşıksa bu iş o kadar zordu. Bunun yerine Windows tarafında da Nginx içeren paketler kullanılabilir. Bu konuda kullandığım sistemlerin artılarını ve eksilerini yazıyorum.

WINGINX

Adı, Windows ve Nginx’in kısaltması. Çok iyi bir alt alan adı ve alan adı yapılandırma yönetim ekranı var. Böylece bir sunucuda xxx.com’u ele alıp yeni proje ekleyerek s1.xxx.com:8080 adresini dinletebilir, ardından proxy_pass ile xxx.com’a gelen trafiği s1’e dağıtan bir yük dengeleme düzeni kurabilirsiniz. Yerel sürümünde Memcache ile PHP 5.4 ve 5.6 seçenekleri geliyor. Geliştirilmesi durmuş; PHP 7 sürümü yok.

WT-Server

Basit ve kullanışlı, ancak alt alan adı yapılandırması konusunda zayıf bir program.

WPN-XM

Yazının döneminde en popüler sistemlerden biri; sunucu tarafında bile kurulabiliyor. En güzel yanı Memcache, Redis, FFmpeg ve ImageMagick gibi PHP ile sık kullandığımız araçları, PHP sürümüne uygun DLL dosyalarıyla birlikte sorunsuz çalıştırabilmesi. WAMP kullananlar bilir: Sürüm değiştirdiğinizde ek araçlarınız için çalışan DLL dosyalarını bulmak, TS mi NTS mi gerektiğini araştırmak sıkıntılıdır. WPN-XM bu dertleri ortadan kaldırmış; PHP 7 desteği var ve yazının döneminde güncel.

Geliştirme çatısı olarak genelde CakePHP kullanıyordum. WPN-XM hem CakePHP 2 hem CakePHP 3 ile gayet güzel çalışıyordu.