Birden çok web sitesini barındırmak için Apache ve Nginx’i nasıl yapılandıracağımızı öğrenelim.
Bulut sunucusunda site barındırma, paylaşımlı barındırmaya kıyasla çok daha fazla esneklik sağlar. İstediğinizi yükleyebilir, ölçeği büyütebilir veya küçültebilir ve daha iyi performans ve maliyet optimizasyonu için yapılandırabilirsiniz.
Birden fazla iş sitesi çalıştırıyorsanız ancak bunları ayrı ayrı barındırmak istemiyorsanız, web sunucularında Sanal Sunucudan yararlanabilirsiniz. Bu senaryoya bir göz atalım.
Tek bulut sanal makineme işaret etmek istediğim aşağıdaki iki sitem var.
Uygulamadan önce, nasıl çalıştığını anlayalım.
Tek bir web sunucusu örneğinde birden fazla web sitesine sahip olma konseptine Sanal Sunucu denir. Yapılandırma dosyasında URL ile birlikte tanımlanır. Tanımlanmış bir URL’ye bir istek yapıldığında, web sunucusu trafiği ilgili Belge Kökünden sunacaktır.
Birden çok etki alanını barındırmak için Apache’de Sanal Ana Bilgisayarı yapılandırın
- Apache HTTP Sunucusunda oturum açın
- apache conf konumuna gidin. (varsayılan kurulumda – onu burada /etc/httpd/conf/httpd.conf bulacaksınız)
- httpd.conf dosyasının yedeğini alın
- İki alan için yaptığım aşağıdaki gibi bir VirtualHost konteyneri oluşturun.
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /opt/htdocs/lab ServerName lab.trtechpc.eu.com ErrorLog logs/lab.trtechpc.eu.com-error_log CustomLog logs/lab.trtechpc.eu.com-access_log common </VirtualHost> <VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /opt/htdocs/gf-dev ServerName gf.dev ErrorLog logs/gf.dev-error_log CustomLog logs/gf.dev-access_log common </VirtualHost>
Not: Gereksiniminize göre ServerAdmin, DocumentRoot, ServerName, ErrorLog, CustomLog için değeri değiştirin.
- Apache HTTP’yi yeniden başlatın ve her iki URL’yi de test edin.
Birden çok etki alanını barındırmak için Nginx’te Sanal Ana Bilgisayarı yapılandırın
- Nginx sunucusuna giriş yapın
- Nginx’i kurduğunuz konuma gidin. (varsayılan konumda – burada /etc/nginx/ bulacaksınız)
Bunu başarmanın birden fazla yolu var. Varsa, nginx.conf dosyasını veya özel dosyanızı değiştirebilirsiniz. Ayrıca conf.d klasörü altında bir custom.conf oluşturabilirsiniz. Sizin için neyin işe yaradığını seçin ve mevcut bir dosyayı değiştiriyorsanız bir yedeğini alın.
- Aşağıda gösterdiğim gibi her iki URL için bir sunucu bloğu oluşturun.
server { listen 80; root /opt/htdocs/lab; index index.html index.htm; server_name lab.trtechpc.eu.com; location / { try_files $uri $uri/ =404; } } server { listen 80; root /opt/htdocs/gf-dev; index index.html index.htm; server_name gf.dev; location / { try_files $uri $uri/ =404; } }
Not: Gereksiniminize göre root, server_name değerini değiştirin.
- Nginx’i yeniden başlatın ve her iki URL’yi de test edin
Sunucu IP’si ile eşleştirmek için URL’nizin DNS kaydını güncellemeyi unutmayın. Tamamlandığında, yaptığınız yukarıdaki yapılandırma aracılığıyla sunulan URL’lere erişebilmelisiniz.
Çözüm
Bu, Apache veya Nginx gibi tek bir web sunucusu örneğinde birden çok etki alanını barındırmak için hızlı kılavuzdu. Web siteniz yayına girdikten sonra güvenlik açıklarına karşı test etmeyi unutmayın.
Makaleyi okumaktan zevk aldınız mı? Dünya ile paylaşmaya ne dersiniz?