Nauczmy się, jak skonfigurować Apache i Nginx do hostowania wielu stron internetowych.
Hosting witryn na serwerze w chmurze zapewnia dużą elastyczność w porównaniu do hostingu współdzielonego. Możesz zainstalować wszystko, co chcesz, skalować w górę lub w dół i skonfigurować w celu uzyskania lepszej wydajności i optymalizacji kosztów.
Jeśli prowadzisz wiele witryn biznesowych, ale nie chcesz hostować ich osobno, możesz skorzystać z Virtual Server na serwerach WWW. Przyjrzyjmy się temu scenariuszowi.
Mam następujące dwie witryny, które chciałbym wskazać na moją jedną maszynę wirtualną w chmurze.
Przed wdrożeniem zrozummy, jak to działa.
Koncepcja posiadania wielu stron internetowych na jednej instancji serwera WWW nosi nazwę Virtual Server. Jest zdefiniowany w pliku konfiguracyjnym wraz z adresem URL. Gdy żądanie jest wysyłane do określonego adresu URL, serwer sieciowy obsługuje ruch z odpowiedniego katalogu głównego dokumentu.
Spis treści:
Skonfiguruj Virtual Host w Apache, aby hostować wiele domen
- Zaloguj się do serwera HTTP Apache
- Przejdź do lokalizacji konfiguracji Apache. (w domyślnej instalacji – znajdziesz go tutaj /etc/httpd/conf/httpd.conf)
- Zrób kopię zapasową pliku httpd.conf
- Utwórz kontener VirtualHost, jak poniżej, zrobiłem dla dwóch domen.
<VirtualHost *:80> ServerAdmin [email protected] DocumentRoot /opt/htdocs/lab ServerName lab.newsblog.pl.com ErrorLog logs/lab.newsblog.pl.com-error_log CustomLog logs/lab.newsblog.pl.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>
Uwaga: Zmień wartość dla ServerAdmin, DocumentRoot, ServerName, ErrorLog, CustomLog na podstawie swoich wymagań.
- Uruchom ponownie Apache HTTP i przetestuj oba adresy URL.
Skonfiguruj Virtual Host w Nginx, aby hostować wiele domen
- Zaloguj się do serwera Nginx
- Przejdź do lokalizacji, w której zainstalowałeś Nginx. (w domyślnej lokalizacji – znajdziesz go tutaj /etc/nginx/)
Istnieje wiele sposobów, aby to osiągnąć. Możesz zmodyfikować plik nginx.conf lub plik niestandardowy, jeśli taki posiadasz. Możesz także utworzyć plik custom.conf w folderze conf.d. Wybierz, co Ci odpowiada i wykonaj kopię zapasową, jeśli modyfikujesz istniejący plik.
- Utwórz blok serwera dla obu adresów URL, jak pokazałem poniżej.
server { listen 80; root /opt/htdocs/lab; index index.html index.htm; server_name lab.newsblog.pl.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; } }
Uwaga: Zmień wartość root, server_name na podstawie swoich wymagań.
- Uruchom ponownie Nginx i przetestuj oba adresy URL
Nie zapomnij zaktualizować rekordu DNS swojego adresu URL, aby był mapowany na adres IP serwera. Po zakończeniu powinieneś mieć dostęp do adresów URL, które są obsługiwane w ramach powyższej konfiguracji.
Wniosek
To był krótki przewodnik po hostowaniu wielu domen w jednej instancji serwera WWW, takiego jak Apache lub Nginx. Po uruchomieniu witryny nie zapomnij przetestować jej pod kątem luk w zabezpieczeniach.
Podobał Ci się artykuł? A co powiesz na dzielenie się ze światem?