Giriş
Nginx, yüksek performanslı bir web sunucusu ve ters proxy olarak bilinen bir yazılımdır. Günümüzde medya akışı hizmetleri için yaygın olarak kullanılmaktadır. Nginx’in gelişmiş yapılandırma seçenekleri sayesinde HTTP ve RTMP (Real-Time Messaging Protocol) akışı sunmak mümkündür. HTTP akışı genellikle video ve ses içeriklerini dağıtımında, RTMP akışı ise canlı yayınlarda sıkça tercih edilmektedir. Bu metin, Nginx kullanarak HTTP ve RTMP akışlarının nasıl yapılandırılacağını açıklayacaktır.
Nginx Kurulumu
Nginx’in akış özelliklerini kullanabilmek için öncelikle Nginx’in sistemde kurulu olması gerekmektedir. Popüler Linux dağıtımlarında, aşağıdaki komutlar kullanılarak Nginx kurulumları yapılabilir:
“`bash
Ubuntu/Debian
sudo apt update
sudo apt install nginx
CentOS/RHEL
sudo yum install epel-release
sudo yum install nginx
“`
Kurulum tamamlandıktan sonra, Nginx servisi başlatılmalı ve sistem başlangıcında otomatik olarak çalışması sağlanmalıdır:
“`bash
Servisi başlat
sudo systemctl start nginx
Sistemde otomatik çalışması için
sudo systemctl enable nginx
“`
HTTP Akışı Yapılandırması
HTTP akışı, video ve ses içeriklerinin web tarayıcıları üzerinden erişilmesini sağlayan yaygın bir yöntemdir. Nginx ile HTTP akışı ayarlamak için, Nginx konfigürasyon dosyasında gerekli ayarlar yapılmalıdır.
1. Yapılandırma Dosyasını Açma:
Nginx yapılandırma dosyası genellikle `/etc/nginx/nginx.conf` veya `/etc/nginx/conf.d/default.conf` dizinlerinde bulunmaktadır. Bu dosya bir metin düzenleyici ile açılmalıdır.
“`bash
sudo nano /etc/nginx/nginx.conf
“`
2. HTTP Akışı İçin Ayarları Ekleme:
Aşağıdaki ayarlar, Nginx’in HTTP akışı için yapılandırılmasına yardımcı olacaktır.
“`nginx
http {
server {
listen 80;
server_name your_domain.com;
location /videos/ {
root /path/to/your/videos;
add_header Cache-Control no-cache;
}
}
}
“`
Bu yapılandırmada, belirtilen dizindeki video dosyalarına doğrudan erişim sağlanacaktır. `your_domain.com` kısmı, sunucunun gerçek alan adı ile değiştirilmelidir. Video dosyaları için uygun dizin yolu ayarlanmalıdır.
3. Yapılandırmayı Test Etme ve Yeniden Başlatma:
Yapılandırma dosyası kaydedildikten sonra, herhangi bir hata olup olmadığını kontrol etmek için Nginx yapılandırması test edilmelidir:
“`bash
sudo nginx -t
“`
Eğer test başarılı ise Nginx servisi yeniden başlatılmalıdır:
“`bash
sudo systemctl restart nginx
“`
RTMP Akışı Yapılandırması
RTMP, özellikle canlı akış uygulamalarında yaygın olarak kullanılan bir protokoldür. Nginx ile RTMP akışını gerçekleştirmek için `nginx-rtmp-module` modülünün eklenmesi gereklidir. Aşağıdaki adımlar, RTMP akışının nasıl yapılandırılacağını açıklamaktadır.
1. RTMP Modülünün Kurulumu:
Nginx RTMP modülünü kurmak için, genellikle kaynak kodundan derleme yapılması gerekmektedir. Öncelikle gerekli bağımlılıklar ve araçlar yüklenmelidir:
“`bash
sudo apt install libnginx-mod-http-rtmp
“`
Daha sonra Nginx RTMP modülü ile kurulum yapılmalıdır. Kaynak kodu indirilmeli ve derlenmelidir:
“`bash
git clone https://github.com/arut/nginx-rtmp-module.git
sudo apt install build-essential libpcre3 libpcre3-dev libssl-dev zlib1g zlib1g-dev
“`
2. RTMP Ayarlarının Yapılandırılması:
Nginx yapılandırma dosyasında aşağıdaki RTMP ayarları eklenmelidir:
“`nginx
rtmp {
server {
listen 1935;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
“`
Bu yapılandırma, RTMP akışı sunmak için gerekli temel ayarları içermektedir. `live` uygulaması ile canlı yayınlar yapılabilir.
3. Yapılandırmanın Test Edilmesi ve Nginx’in Yeniden Başlatılması:
Yapılandırma tamamlandıktan sonra, yukarıdaki gibi test edilmeli ve Nginx servisi yeniden başlatılmalıdır.
Medya Akışı için Bir İstemci Kullanılması
Nginx yapılandırması yapıldıktan sonra, yayın yapmak için bir istemci kullanmak gereklidir. OBS Studio gibi popüler yayın yazılımları üzerinden RTMP sunucusuna bağlanarak yayın yapılabilir. Sunucu bilgileri:
– RTMP Sunucu: `rtmp://your_domain.com/live`
– Akış Anahtarı: `stream_key` (isteğe bağlı)
HTTP akışı için video dosyalarına doğrudan tarayıcı üzerinden erişilebilecektir, örneğin: `http://your_domain.com/videos/video.mp4`.
Sonuç
Nginx, hem HTTP hem de RTMP akışı için güçlü ve esnek bir çözüm sunar. HTTP akışı, video ve ses dosyalarının dağıtımında geniş bir kullanım alanına sahipken, RTMP akışı canlı yayınlar için ideal bir yöntemdir. Nginx’in yapılandırma dosyalarında yapılan değişikliklerle bu akışlar kolaylıkla yönetilebilir. Özellikle yüksek trafik alan projelerde, Nginx’in sağladığı performans ve ölçeklenebilirlik avantajları dikkat çekmektedir.