Ubuntu'da Nginx'te Sanal Ana Bilgisayarlar Nasıl Yapılandırılır ⋆ ALexHost SRL

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills
11.02.2025

Ubuntu’da Nginx’te Sanal Ana Bilgisayarlar Nasıl Yapılandırılır

Nginx’te sanal ana bilgisayarları yapılandırmak, her web sitesinin kendi alan adına sahip olduğu tek bir sunucuda birden fazla web sitesi barındırmanıza olanak tanır. Nginx sanal ana bilgisayarları, her web sitesi için ayarları tanımlayan “sunucu blokları” kullanılarak yapılandırılır. Bu kılavuz, Nginx ile bir Ubuntu sunucusunda sanal ana bilgisayarlar kurma konusunda size yol gösterecektir.

1. Ön Koşullar

  • Nginx Yüklü: Nginx’in sunucunuzda kurulu olduğundan emin olun. Değilse, ile yükleyin:
    sudo apt update
    sudo apt install nginx
  • Alan Adları: Barındırmak istediğiniz alan adlarının sunucunuzun IP adresine işaret etmesini sağlayın. Test amacıyla /etc/hosts dosyanızı değiştirebilirsiniz.

2. Her Web Sitesi için Dizinler Kurun

Her web sitesi, web sitesi dosyalarını depolamak için kendi dizinine sahip olmalıdır. İki örnek web sitesi için dizinler oluşturalım: example1.com ve example2.com.

sudo mkdir -p /var/www/example1.com/html
sudo mkdir -p /var/www/example2.com/html

Nginx’in gerekli izinlere sahip olduğundan emin olmak için bu dizinlerin sahipliğini Nginx kullanıcısına (www-data) verin.

sudo chown -R www-data:www-data /var/www/example1.com/html
sudo chown -R www-data:www-data /var/www/example2.com/html

Uygun izinleri ayarlayın:

sudo chmod -R 755 /var/www

3. Örnek İçerik Oluşturun

Sanal ana bilgisayarları test etmek için her site için örnek HTML dosyaları ekleyin.

Example1.com:

echo "<h1>Welcome to Example1.com!</h1>" | sudo tee /var/www/example1.com/html/index.html

Example2.com:

echo "<h1>Welcome to Example2.com!</h1>" | sudo tee /var/www/example2.com/html/index.html

4. Sanal Ana Bilgisayar Yapılandırma Dosyaları Oluşturma

Şimdi, her web sitesi için bir sunucu bloğu (sanal ana bilgisayar) yapılandırma dosyası oluşturacağız. Nginx bu yapılandırma dosyalarını /etc/nginx/sites-available/ dizininde saklar.

Adım 1: Example1.com için Yapılandırma Oluşturun

Example1.com için yeni bir yapılandırma dosyası oluşturun:

sudo nano /etc/nginx/sites-available/example1.com

Aşağıdaki yapılandırmayı ekleyin:

server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}

Adım 2: Example2.com için Yapılandırma Oluşturun

Example2.com için bir yapılandırma dosyası oluşturun:

sudo nano /etc/nginx/sites-available/example2.com

Aşağıdaki yapılandırmayı ekleyin:

server {
listen 80;
server_name example2.com www.example2.com;
root /var/www/example2.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}

5. Sanal Ana Bilgisayarları Etkinleştirin

Nginx sanal ana bilgisayarları etkinleştirmek için sembolik bağlantılar kullanır. Yapılandırma dosyalarını sites-available’dan sites-enabled’a bağlayın:

sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/

6. Yapılandırmayı Test Edin

Yapılandırmanızda sözdizimi hatası olmadığından emin olmak için çalıştırın:

sudo nginx -t

Her şey doğruysa, bir onay mesajı göreceksiniz. Hata varsa, Nginx sorun gidermenize yardımcı olmak için ayrıntıları görüntüleyecektir.

7. Nginx’i yeniden başlatın

Yapılandırmayı onayladıktan sonra, değişiklikleri uygulamak için Nginx’i yeniden başlatın:

sudo systemctl restart nginx

8. Web Sitelerine Erişim

Alan adları sunucunuza yönlendirilmişse, artık her siteye ziyaret ederek erişebilmeniz gerekir:

  • http://example1.com
  • http://example2.com

Yerel testler için, alan adlarını sunucunuzun IP adresiyle eşleştirmek üzere /etc/hosts dosyanızı düzenleyebilirsiniz. Gibi girişler ekleyin:

127.0.0.1 example1.com 127.0.0.1 example2.com

Dosyayı kaydedip kapatın, ardından tarayıcınızda sitelere erişmeyi deneyin.

9. Her Site için HTTPS’yi Etkinleştirme (İsteğe Bağlı)

Güvenli bağlantılar için Let’s Encrypt kullanarak SSL sertifikaları ayarlayabilirsiniz. HTTPS’yi etkinleştirmek için:

Certbot’u yükleyin:

sudo apt install certbot python3-certbot-nginx

Her etki alanı için SSL sertifikaları almak ve yapılandırmak için aşağıdaki komutu çalıştırın:

sudo certbot --nginx -d example1.com -d www.example1.com
sudo certbot --nginx -d example2.com -d www.example2.com

Yönergeleri izleyin; Certbot, Nginx yapılandırmanızda HTTPS’yi otomatik olarak kuracaktır.

Sonuç

Ubuntu’da Nginx’te sanal ana bilgisayarlar kurarak, her biri kendi yapılandırmasına ve içeriğine sahip birden fazla web sitesini tek bir sunucuda barındırabilirsiniz. Bu kurulum verimli ve ölçeklenebilirdir, bu da Nginx’i aynı sunucuda birden fazla site barındırmak için mükemmel bir seçim haline getirir.

Tüm Barındırma hizmetlerimizde becerilerinizi test edin ve % 15 indirim kazanın!

Ödeme sırasında kodu kullanın:

Skills