Kendi Raspberry Pi NGINX Web Sunucunuzu Kurun

Bu yazı, PiMyLifeUp - Build your own Raspberry Pi NGINX Web Server kaynağından Türkçe'ye çevrilerek hazırlanmıştır.

Bu eğitimde, Raspberry Pi'nizde NGINX Web Sunucusunu nasıl kuracağınızı göstereceğiz.

Raspberry Pi NGINX Başlığı

Birkaç farklı nedenden dolayı Raspberry Pi için Apache'ye göre daha iyi bir alternatiftir.

NGINX'in Raspberry Pi'de daha iyi olmasının nedenlerinden bazıları, çok daha düşük bellek kullanımına ve genellikle daha düşük CPU kullanımına sahip olmasıdır, bu da Raspberry Pi'nizin sınırlı kaynaklarından daha fazla verim alabileceğiniz anlamına gelir.

Ayrıca size NGINX'i PHP-FPM'i kullanacak şekilde nasıl yapılandıracağınızı da göstereceğiz, bu Apache için PHP'nin aksine çalışır hale getirmek için biraz ek yapılandırma gerektirir.

NGINX, Apache'den biraz daha fazla alana sahip olsa da, yine de ciddi miktarda trafik çalıştırmasını veya önemli miktarda PHP işi yapmasını beklemeyin.

Raspberry Pi'de NGINX Ayarlama

1. Raspberry Pi'de NGINX web sunucusunu ayarlamaya başlamadan önce, önce Raspberry Pi'mizde aşağıdaki iki komutu çalıştırarak güncel olduğundan emin olmalıyız.

sudo apt update
sudo apt upgrade

2. Sisteminizde önceden kurulu olma ihtimaline karşı Apache2'yi kaldırmak için aşağıdaki komutu da çalıştırmalıyız.

Bunu yapmamak, otomatik olarak başladığı ve 80 portunu kullandığı için kurulumun başarısız olmasına neden olabilir, NGINX'i web sunucusu olarak kullanmayı planladığımızdan onu sistemden kaldırmayı seçiyoruz.

Apache2'nin zaten kurulu olmadığından eminseniz bu adımı atlayabilirsiniz.

sudo apt remove apache2

3. Paketler artık güncel ve Apache 2 kaldırılmış olduğuna göre, eğitime devam edebiliriz.

Son olarak, Raspberry Pi'nizde aşağıdaki komutu çalıştırarak NGINX'i Raspberry Pi'mize kuralım.

sudo apt install nginx

4. Artık NGINX kurulduğuna göre, yazılımı başlatabiliriz.

Raspberry Pi'nizde web sunucusunu başlatmak için terminale aşağıdaki komutu yazın.

sudo systemctl start nginx

5. NGINX web sunucusu artık başladığına göre, yerel IP adresimizi almamız gerekiyor.

Bunu, web sunucumuzun ayrı bir web tarayıcısından çalışıp çalışmadığını test edebilmek için yapıyoruz.

Raspberry Pi'nizin yerel IP adresini almak için hostname komutunu kullanın.

hostname -I

6. Raspberry Pi'mizin yerel IP adresi artık elimizde olduğuna göre, adresi herhangi bir web tarayıcısında açalım.

Sadece hostname -I kullanarak elde ettiğiniz yerel IP Adresine gidin. Benim durumumda, http://192.168.0.143e giderdim.

http://PI'NİZİN IP ADRESİ

7. Adrese göz attığınızda, aşağıdaki gibi bir şeyle karşılaşmalısınız.

Bu bir Apache sayfası gösteriyorsa endişelenmeyin çünkü bazen NGINX, Apache'nin varsayılan index sayfasının üzerine yazmaz.

NGINX Varsayılan Ekranı

PHP için NGINX'i Yapılandırma

1. Apache'nin aksine, NGINX PHP ile kullanım için otomatik olarak ayarlanmayacaktır. Bunun yerine, onu yüklemesini sağlamak için yapılandırma dosyalarında değişiklikler yapmalıyız.

Ayrıca NGINX'in çalışma şekli nedeniyle standart PHP değil, PHP-FPM kullanmamız gerekecek.

2. NGINX için PHP'yi yapılandırmaya başlamadan önce, PHP'yi ve daha kapsamlı PHP script'leriyle uğraşırken işleri kolaylaştıracak bazı önerilen PHP modüllerini kurmamız gerekiyor.

Aşağıdaki komutu çalıştırarak her şeyi kurabilirsiniz.

sudo apt install php8.2-fpm php8.2-mbstring php8.2-mysql php8.2-curl php8.2-gd php8.2-curl php8.2-zip php8.2-xml -y

"package not found" hatasıyla karşılaşırsanız, bu PHP sürümü mevcut Raspberry Pi OS sürümünüzde mevcut değildir demektir. Ancak, işletim sisteminize üçüncü taraf bir PHP deposu ekleyerek bu hatayı aşabilirsiniz.

3. PHP-FPM artık kurulduğuna göre, varsayılan NGINX yapılandırma dosyasında gerekli değişiklikleri yapabiliriz.

Varsayılan yapılandırma dosyasını düzenlemeye başlamak için Raspberry Pi'nizde aşağıdaki komutu çalıştırın.

sudo nano /etc/nginx/sites-enabled/default

4. Bu dosyanın içinde, aşağıdaki satırları bulup değiştirin.

Bulun

index index.html index.htm;

Şununla Değiştirin

index index.php index.html index.htm;

Burada index satırına index.php eklememiz gerekiyor, bu NGINX'e index.php dosyasını olası bir index olarak tanımasını söyler, listede önce eklemek, bir index.html dosyasından önce seçileceği anlamına gelir.

Bulun

#location ~ \.php$ {
        #       include snippets/fastcgi-php.conf;
        #
        #       # With php5-cgi alone:
        #       fastcgi_pass 127.0.0.1:9000;
        #       # With php5-fpm:
        #       fastcgi_pass unix:/var/run/php5-fpm.sock;
        #}

Şununla Değiştirin

location ~ \.php$ {
               include snippets/fastcgi-php.conf;
               fastcgi_pass unix:/var/run/php/php8.2-fpm.sock;
        }

Bu kod, .php dosyalarını PHP-FPM'e ileterek işlemesi için NGINX'i ayarlar.

Bittiğinde, CTRL + X, ardından Y, sonra ENTER tuşuna basarak kaydedip çıkabilirsiniz.

5. Ardından, bu Raspberry Pi Nginx sunucusu eğitiminde, aşağıdaki komutu çalıştırarak NGINX'e yapılandırmasını yeniden yüklemesini söylememiz gerekecek.

sudo systemctl reload nginx

6. Son olarak, /var/www/html dizinimizde çok basit bir index.php dosyası yazarak PHP kurulumunu test edelim. index.php dosyamızı oluşturmak ve düzenlemeye başlamak için aşağıdaki komutu çalıştırın.

sudo nano /var/www/html/index.php

7. Bu dosyaya, aşağıdaki kod satırını ekleyin.

<?php phpinfo(); ?>

Bunların hepsi yapıldıktan sonra, CTRL + X, ardından Y, son olarak ENTER tuşuna basarak kaydedip çıkabiliriz.

8. Şimdi eğitimin başında olduğu gibi Raspberry Pi'nizin IP adresine gidebilirsiniz, ancak bu sefer PHP sürümünüz hakkındaki tüm bilgileri ve şu anda hangi modüllerin aktif olduğunu gösteren bir sayfa görmelisiniz. Bu, PHP kurulumunuzun doğru çalıştığının iyi bir göstergesidir.

Bir adım daha ileri gitmek isterseniz, onunla birlikte kullanmak üzere bir MYSQL veritabanı kurmaya bakabilirsiniz. Oldukça basittir ve iyi bir veritabanı yazılımına ihtiyaç duyan herkes için mükemmeldir.

Sonuç

Umarız, bu noktada, Raspberry Pi'nizi PHP'nin doğru çalıştığı, tamamen işlevsel bir NGINX web sunucusuyla başarıyla kurmuşsunuzdur.

Bu Raspberry Pi Nginx eğitimiyle ilgili herhangi bir sorunla karşılaştıysanız veya sadece bir geri bildirim bırakmak istiyorsanız, aşağıya yorum bırakmaktan çekinmeyin.