Temel Sanal Ana Makine Yapılandırması
Farklı alan adlarını kullanarak tek bir sunucuda birden çok web sitesi barındırmak için sanal ana makineler (veya sunucu blokları) oluşturun.
Temel Sanal Ana Makine Yapılandırması, CoddyKit'te ücretsiz bir Linux Server Deployment & SSH Mastery dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, Linux Server Deployment & SSH Mastery öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.
Birden Çok Website Barındırma
Güçlü bir sunucunuz olduğunu, ancak her birinin kendi alan adı olan (örneğin myshop.com ve myblog.com) birkaç farklı website barındırmak istediğinizi düşünün.
Her site için ayrı bir makineye ihtiyaç duymadan tek bir sunucu bunu verimli bir şekilde nasıl gerçekleştirebilir?
Sanal Ana Bilgisayarlar Nedir?
İşte Sanal Ana Bilgisayarlar (Apache) veya Sunucu Blokları (Nginx) burada devreye girer!
- Tek bir web sunucusunun birden çok alan adını barındırmasını sağlayan yapılandırma birimleridir.
- Her alan adının kendi belge kökü (dosyalarının bulunduğu konum), günlükleri ve özel ayarları olabilir.
- Bu, kaynak tasarrufu sağlar ve sunucu yönetimini kolaylaştırır.
Apache Sanal Ana Bilgisayar Kurulumu
Apache'de sanal ana bilgisayar yapılandırmaları genellikle belirli dizinlerdeki .conf dosyalarında saklanır:
/etc/apache2/sites-available/: Kullanılabilir tüm sanal ana bilgisayar yapılandırmalarını içerir./etc/apache2/sites-enabled/: Şu anda etkin olan yapılandırmalara sembolik bağlantılar içerir.
Bunları etkinleştirmek için a2ensite gibi komutları kullanırız.
Apache: Temel Sanal Ana Bilgisayar
İşte basit bir Apache sanal ana bilgisayar yapılandırması. Bu dosya sites-available içinde oluşturulur.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName myfirstsite.com
ServerAlias www.myfirstsite.com
DocumentRoot /var/www/myfirstsite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Apache: Yapılandırma Adımları
myfirstsite.com için Apache sanal ana bilgisayarını kurmak üzere:
- Web sitenizin dosyaları için bir dizin oluşturun.
- Sanal ana bilgisayar yapılandırma dosyasını oluşturun.
- Siteyi etkinleştirin ve Apache'yi yeniden yükleyin.
İlk iki adımın komutlarına bakalım:
sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.confApache: Etkinleştirme ve Yeniden Yükleme
.conf dosyanızı oluşturup kaydettikten sonra, dosyayı etkinleştirmek ve değişiklikleri uygulamak için şu komutları kullanın:
sudo a2ensite myfirstsite.conf:sites-enablediçinde sembolik bir bağlantı oluşturur.sudo apache2ctl configtest: Apache yapılandırmanızdaki söz dizimi hatalarını denetler.sudo systemctl reload apache2: Sunucuyu yeniden başlatmadan yeni yapılandırmayı uygular.
sudo a2ensite myfirstsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2Nginx Sunucu Bloğu Kurulumu
Nginx, Apache'nin sanal ana bilgisayarlarına çok benzeyen Sunucu Blokları kullanır. Bunlar da benzer bir dizin yapısından yararlanır:
/etc/nginx/sites-available/: Tüm sunucu bloğu yapılandırmalarını saklar./etc/nginx/sites-enabled/: Etkin sunucu bloklarına yönelik sembolik bağlantıları içerir.
Yardımcı bir komut kullanmak yerine sembolik bağlantıları kendimiz oluştururuz.
Nginx: Temel Sunucu Bloğu
İşte mysecondsite.com için temel bir Nginx sunucu bloğu yapılandırması. Bu dosya sites-available içinde oluşturulur.
server {
listen 80;
listen [::]:80;
root /var/www/mysecondsite/html;
index index.html index.htm;
server_name mysecondsite.com www.mysecondsite.com;
location / {
try_files $uri $uri/ =404;
}
}Nginx: Yapılandırma Adımları
mysecondsite.com için Nginx sunucu bloğunu kurmak üzere:
- Web sitenizin dosyaları için bir dizin oluşturun.
- Sunucu bloğu yapılandırma dosyasını oluşturun.
- Sembolik bir bağlantı oluşturun ve Nginx'i yeniden yükleyin.
İlk iki adımın komutları şunlardır:
sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsiteNginx: Etkinleştirme ve Yeniden Yükleme
Sunucu bloğu dosyanızı oluşturup kaydettikten sonra, dosyayı etkinleştirmek ve değişiklikleri uygulamak için şu komutları kullanın:
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/: Sembolik bağlantıyı oluşturur.sudo nginx -t: Nginx yapılandırmasında söz dizimi hataları olup olmadığını denetler.sudo systemctl reload nginx: Yeniden başlatma işlemi yapmadan yeni yapılandırmayı uygular.
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxSanal Ana Bilgisayar Denetimi
Birden çok site barındırmak üzere web sunucularını nasıl yapılandıracağınızı öğrendiniz. Şimdi anlayışınızı sınayalım.
Özet: Bir Sunucuda Birden Çok Site
Harika iş çıkardınız! Sanal ana bilgisayarları (Apache) ve sunucu bloklarını (Nginx) yapılandırmanın temel noktalarını öğrendiniz.
- Bu yapılandırmalar, tek bir sunucuda birden çok web sitesini verimli bir şekilde barındırmanızı sağlar.
- Artık farklı alan adları için birbirinden ayrı yapılandırmalar oluşturmayı biliyorsunuz.
- Bu, web sunucusu yönetimi ve birden çok uygulamanın dağıtımı için temel bir beceridir.
Sıkça Sorulan Sorular
“Temel Sanal Ana Makine Yapılandırması” dersi ücretsiz mi?
Evet — “Temel Sanal Ana Makine Yapılandırması” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve Linux Server Deployment & SSH Mastery kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. Linux Server Deployment & SSH Mastery kursu toplamda 4 dersten oluşur.
“Temel Sanal Ana Makine Yapılandırması” dersinde ne öğreneceğim?
Farklı alan adlarını kullanarak tek bir sunucuda birden çok web sitesi barındırmak için sanal ana makineler (veya sunucu blokları) oluşturun. Linux Server Deployment & SSH Mastery ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
Linux Server Deployment & SSH Mastery öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te Linux Server Deployment & SSH Mastery, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Temel Sanal Ana Makine Yapılandırması” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu Linux Server Deployment & SSH Mastery dersinde kod yazıp çalıştırabilir miyim?
Evet. Her Linux Server Deployment & SSH Mastery dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Nginx/Apache Kurulumu
- Statik Web Sitelerini Barındırma
- Temel Sanal Ana Makine Yapılandırması
- Let's Encrypt ile HTTPS'yi Etkinleştirme