News
BAE'de yeni veri merkezi - Equinix DX1
April 21, 2023
Updated June 7, 2023

Nginx'i Ubuntu'da bir Docker konteynerine yükleme ve çalıştırma

Linux Nginx Ubuntu

Nginx, yüksek İnternet kullanıcı trafiğine sahip büyük siteleri barındırmak için popüler web sunucularından biridir. Ayrıca hem web sunucusu hem de ters proxy yapılandırması için kullanışlı yardımcı programlardan biri olarak kabul edilir.

Ubuntu'da Nginx kurulumu ile ilgili rehberimizi okuyabilirsiniz. Burada Nginx'in en son sürümünü bir Docker konteynerinde çalıştırmaya bakacağız.

İş için hazırlanma

Talimatlarımıza göre Ubuntu tabanlı bir sunucu kurmanız, "sudo" ile komutları yürütme haklarına sahip bir kullanıcı ve bir UFW güvenlik duvarı yapılandırmanız gerekir.

Ubuntu 22.04 üzerinde Docker nasıl kurulur ve yapılandırılır.

Nginx yapılandırma dosyaları

Dosyalar için, web sayfamızı görüntülemek için klasörlerin ve yapılandırma dosyalarının depolanacağı bir ana dizin oluşturmamız gerekir.

mkdir -p serverspace
cd serverspace

Bazı dizinler oluşturalım ve içlerinde Docker'da Nginx'i çalıştıracağımız test sitemiz için yapılandırma dosyaları oluşturalım.

mkdir -p project/conf-files
mkdir -p html/files
touch project/conf-files/serverspace.ru.conf
touch project/nginx.conf
touch html/files/serverspace.html

Tüm dosyaları oluşturduktan sonra, aşağıdaki içerik listesine sahip olmalıyız:

1-450x247

Şimdi bunları yapılandırmaya geçelim.

Uygun bir metin düzenleyici kullanarak serverspace.ru.conf dosyasında değişiklikler yapın.

vim /serverspace/project/conf-files/serverspace.ru.conf

Kodumuzu yazalım:

server {
listen 80;
server_name _;
root /usr/share/nginx/html;
index serverspace.html;
location / {
try_files $uri $uri/ =404;
}
}

Şimdi nginx.conf dosyasının kurulumuna geçelim ve kodumuzu ekleyelim:

user www-data;
worker_processes auto;
pid /run/nginx.pid;
include /etc/nginx/modules-enabled/*.conf;
events {
worker_connections 768;
}
http {
sendfile on;
tcp_nopush on;
types_hash_max_size 2048;
default_type application/octet-stream;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; # Dropping SSLv3, ref: POODLE
ssl_prefer_server_ciphers on;
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
gzip on;
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}

html/files/serverspace.html dosyasına site başlığını ve bir satır metni belirten kodu ekleyin:

Welcome to the Test-Site from Serverspace

Nginx'i bir Docker konteynerinde çalıştırmaya geçelim.

Bir konteyner başlatma<\h2>

Konteyneri şu komutla başlatın:

docker run --name nginx-serverspace -p 80:80 -v /root/serverspace/html/files/:/usr/share/nginx/html/ -v /root/serverspace/project/nginx.conf:/etc/nginx/nginx.conf -v /root/serverspace/project/conf-files/:/etc/nginx/conf.d/ -d nginx

docker run – konteyneri başlatır;
--name nginx-serverspace – konteynerin adını belirtir;
-p 80:80 – dinleme portu;
-v /path/to/file – dosyaların çıkarılacağı ve Nginx konteynerine aktarılacağı yolu belirtir;
-d nginx – bir kapsayıcıda çalışan görüntü.
Konteyner başarıyla başlatıldıktan sonra, "docker ps" komutunu kullanarak sonucu alın ve durumu kontrol edin:

2 (1)

Oluşturulan sunucunun IP adresine gidin, bu da başlığımızla bir web sayfası açacaktır:

3

Sonuçlar

Konteyner içinde çalışırken web sunucusu imajına kopyalanan dosya ve klasörleri oluşturmayı inceledik. Sonuç olarak, basit bir web sayfasına erişebildik.

Nginx'i başlatmak ve dosyalar dizininin yolunu işaretlemek için manuel komutu kullanmak her seferinde daha fazla zaman alır. Bu nedenle, Docker'da Nginx'i başlatmak için temel ayarları belirleyen, bağlantı noktasını ve dosya yollarını belirten docker-compose.yml'yi kullanmak uygundur. Basit docker-compose up -d komutu ile Nginx imajınızı Docker'a hızlı bir şekilde dağıtabilirsiniz.

Vote:
5 out of 5
Аverage rating : 5
Rated by: 1
34384 İstanbul İzzetpaşa Mah. Yeni Yol Cad. No:3 / 336 Şişli
+90 212 900-35-36
700 300
IT-GRAD NL B.V.
700 300
Hizmetlerimizi sunmak, analizler yapmak ve pazarlama için çerezleri kullanıyoruz. Çerez kullanımımız hakkında daha fazla bilgi edinmek için lütfen Gizlilik Politikamıza bakın. Web sitemize göz atmaya devam ederek çerez kullanımımızı kabul etmiş olursunuz.