Nginx
Nginx nedir?
Nginx çok bağlantıyı az bellekle tutmak için yazılmıştır. Sitenin kapısında durur. Tarayıcı ona bağlanır. Dosyayı diskten verebilir veya isteği Node, PHP ya da başka porta iletebilir. HTTPS sertifikası da çoğu zaman burada bağlanır.
Nginx ne için kullanılır?
Bir alan adının arkasında birkaç servisi düzgün açmak içindir.
- Statik site vermek
- Node veya PHP’ye proxy
- TLS’i bir yerde bitirmek
- Birkaç alan adını ayırmak
Nginx ile ne yapılabilir?
server bloğu bir alan adını anlatır. location yolun hangi klasöre veya proxy’ye gideceğini söyler. nginx -t yapılandırmayı dener. Hata varsa reload etme. Çalışan yapılandırma bozulur.
Nginx öğrenmek zor mu?
Basit statik site kısadır. Zorluk proxy başlığı, büyük dosya ve sertifika yoludur. Apache ile aynı işi görebilir, ama yapılandırma dosyası başkadır. Birini diğerinin örneğiyle kopyalama.
Avantajları ve sınırları
Avantaj: hafiftir, proxy ve statik dosyada güçlüdür, belge boldur. Sınır: karmaşık koşul yapılandırmayı okunmaz yapar, yanlış proxy uygulamayı gizleyebilir. Uygulamanın kendi günlüğü yine gerekir.
Temel kavramlar
worker süreç bağlantıyı tutar. root statik klasördür. proxy_pass arkadaki uygulamanın adresidir.
- sites-available yapılandırmayı saklar
- sites-enabled etkin bağlantıdır
- nginx -t denetler
- systemctl reload nginx süreci kesmeden yeniler
Kısa örnek
Bu blok 80. portta alan adını kabul eder ve isteği yerel 3000 portuna iletir. Alan adını kendi adına değiştir.
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://127.0.0.1:3000;
}
}Sık sorulan sorular
- Nginx ve Apache aynı mı? İkisi de web sunucusudur, yapılandırma ve model farklıdır.
- Nginx programlama dili mi? Hayır. İsteği karşılayan sunucudur.
- Node varsa Nginx gerekir mi? Zorunlu değil. Alan adı, TLS ve birkaç servis varken çoğu zaman gerekir.