Nginx web sunucu yazılımının nasıl kurulacağını öğreneceğiz.
Nginx web sunucu yazılımının ne olduğunu ve nasıl çalıştığını öğrendikten sonra artık kurulum dersimize başlıyoruz. Bu dersimizde Ubuntu 16.04 işletim sistemini kullanarak konuları işleyeceğiz.
1. İşletim Sisteminin Güncellenmesi
Kuruluma başlamadan önce işletim sistemini güncellememiz fayda sağlayacaktır.
sudoaptupdatesudoaptupgrade
2. Nginx Paketinin Kurulması
Nginx web sunucusunu artık indirerek yükleyebiliriz.
sudoaptinstallnginx
📌 Herhangi bir sebeple nginx yüklemesini kaldırmak ve tekrar kurmak istediğinizde tüm konfigürasyonu ile birlikte nginx i kaldırmak için şu komutu çalıştırabilir ve ardından yukarıdaki kodla birlikte tekrardan yükleyebilirsiniz.
sudoaptpurgenginxnginx-commonnginx-full
3. Nginx Konfigürasyonunun Ayarlanması
Hash bucket memory problemini engellemek için (Problem Nedir?) /etc/nginx dizini altında yer alan nginx.conf dosyasını nano veya gedit gibi editörlerle açarak server_names_hash_bucket_size 64 satırının başındaki # işaretini siliniz.
Sunucumuzda PHP dosyalarımızın yorumlanabilmesi için PHP-FPM paketimizi kurmalıyız. Bunun için aşağıdaki komutları çalıştırabilirsiniz.
Paketleri kurduktan sonra /etc/php/7.3/fpm/ dizini altında yer alan php.ini dosyamızdaki ilgili alanları düzenleyelim.
Düzenlemelerimizin aktif olabilmesi için servisimizi yenileyelim.
Son olarak php -v komutu ile ekranda php versiyonunu görüyorsanız işlemimiz tamamdır.
5. Güvenlik Duvarını Ayarlama
İşletim sistemimizde güvenlik duvarımız etkinse Nginx web sunucusunun engellenmesini önlemek için Nginx i beyaz listeye eklemeliyiz.
Öncelikle güvenlik duvarı ile hangi uygulamaların kullanılabilir olduğunu görelim.
Komutun çıktısında gördüğünüz uygulamalar için güvenlik duvarına kural yazabiliriz. Öyleyse ilk kuralımızı yazalım.
HTTP üzerinden yani 80 portundan gelen trafiğe izin vererek Nginx in kısıtlanmadan kullanılmasını sağladık. Şimdi son durum kontrolünü yapalım.
Eğer bu komut sonrası Status: inactive çıktısını görüyorsanız güvenlik duvarınız zaten kapalı demektir. Bu aşamadaki işlemleri yapmanıza gerek yoktur.
6. Web Sunucu Kontrolü
Nginx web sunucusunu ikinci adımda yüklemiştik. Şimdi web sunucu servisinin durumunu kontrol edelim.
Nginx web sunucu servisinin durumunu kontrol ettiğimizde aktif olduğunu görmemiz gerekiyor.
Yukarıda ki çıktıda olduğu gibi Active: active (running) çıktısını gördüyseniz Nginx web sunucu yazılımı başarıyla çalışıyor demektir. Artık http://sunucu_ip_adresi veya localhost veya 127.0.0.1 adresleri üzerinden Nginx default sayfasına erişebilir ve aşağıdaki resimde olduğu gibi çıktıyı görebilirsiniz.
Nginx default sayfası
Nginx servisi üzerinde başlatma, durdurma, yeniden başlatma, konfigürasyonu yeniden yükleme işlemlerini yapabilmek için sudo systemctl xxx nginx komutundaki xxx yerine start, stop, restart ve reload terimlerini kullanabilirsiniz.
Artık Nginx web sunucumuzu başarıyla çalıştırdıktan sonra ilerleyen derslerimizde web sunucu uygulamalarımızı kurmaya başlayacağız.
file_uploads = On
allow_url_fopen = On
memory_limit = 256M
cgi.fix_pathinfo = 0
upload_max_filesize = 100M
max_execution_time = 360
date.timezone = Europe/Istanbul
sudo systemctl restart php7.3-fpm
sudo ufw app list
Available applications:
Nginx Full
Nginx HTTP
Nginx HTTPS
OpenSSH
sudo ufw allow 'Nginx HTTP'
sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
Nginx HTTP ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Nginx HTTP (v6) ALLOW Anywhere (v6)
systemctl status nginx
nginx.service - A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2019-12-09 11:38:13 PST; 49min ago
Docs: man:nginx(8)
Main PID: 2369 (nginx)
Tasks: 2 (limit: 1153)
CGroup: /system.slice/nginx.service
├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
└─2380 nginx: worker process