Nginx to popularny, darmowy serwer internetowy typu open source, słynący z wysokiej wydajności, niezawodności i skromnych wymagań zasobów. Jest on często wybierany do obsługi witryn internetowych o dużym natężeniu ruchu i aplikacji webowych. W tym poradniku przedstawimy szczegółową instrukcję instalacji serwera Nginx na systemie Ubuntu Server 23.10.
Wymagania konieczne
- System Ubuntu Server 23.10
- Dostęp z uprawnieniami administratora (root lub sudo)
Uaktualnienie systemu
Przed przystąpieniem do instalacji Nginx, warto upewnić się, że system jest aktualny, co zapewni dostęp do najnowszych pakietów i łatek bezpieczeństwa:
sudo apt update
sudo apt upgrade
Instalowanie serwera Nginx
1. Aby zainstalować Nginx, użyj menedżera pakietów apt:
sudo apt install nginx
2. Uruchom serwer Nginx:
sudo systemctl start nginx
3. Aktywuj automatyczne uruchamianie Nginx przy starcie systemu:
sudo systemctl enable nginx
Konfiguracja Nginx
Główny plik konfiguracyjny Nginx znajduje się w ścieżce /etc/nginx/nginx.conf
. Otwórz go za pomocą preferowanego edytora tekstu, np. nano:
sudo nano /etc/nginx/nginx.conf
1. Odszukaj sekcję server
i zmodyfikuj ją, tak aby odpowiadała poniższej strukturze:
server {
listen 80;
listen [::]:80;
server_name twojadomena.com;
root /var/www/twojadomena.com;
index index.html index.php;
location / {
try_files $uri $uri/ /index.html;
}
}
- W miejscu
twojadomena.com
wpisz nazwę swojej domeny lub adres IP serwera. - Zamiast
/var/www/twojadomena.com
wstaw ścieżkę do katalogu głównego swojej strony internetowej.
2. Zapisz wprowadzone zmiany i zamknij plik konfiguracyjny.
Weryfikacja działania Nginx
1. Aby przetestować poprawność działania serwera Nginx, wprowadź w przeglądarce internetowej adres IP lub nazwę domeny swojego serwera:
http://twojadomena.com
2. Powinna pojawić się strona powitalna Nginx.
Konfiguracja zapory sieciowej
Aby umożliwić dostęp do serwera Nginx z zewnątrz, niezbędna jest konfiguracja zapory UFW, która jest domyślną zaporą w systemie Ubuntu Server.
1. Dodaj regułę, zezwalającą na ruch na porcie 80 (HTTP):
sudo ufw allow 80/tcp
2. Aktywuj zaporę sieciową:
sudo ufw enable
Implementacja certyfikatu SSL
W celu włączenia szyfrowania SSL/TLS na serwerze Nginx, wykonaj te kroki:
1. Wygeneruj certyfikat SSL za pomocą narzędzia certbot:
sudo certbot --nginx
2. Przejdź przez proces konfiguracji certbota, aby uzyskać certyfikat i klucz prywatny.
3. Upewnij się, że konfiguracja serwera Nginx zawiera następującą sekcję:
server {
listen 443 ssl;
listen [::]:443 ssl;
server_name twojadomena.com;
ssl_certificate /etc/letsencrypt/live/twojadomena.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/twojadomena.com/privkey.pem;
}
4. Zapisz zmiany i zamknij plik.
5. Zrestartuj usługę Nginx:
sudo systemctl reload nginx
Dodatkowe konfiguracje
Tworzenie hostów wirtualnych
Wirtualne hosty umożliwiają obsługę kilku stron internetowych na jednym serwerze Nginx. Aby utworzyć wirtualny host, postępuj zgodnie z instrukcją:
1. Utwórz plik konfiguracyjny dla nowego wirtualnego hosta w katalogu /etc/nginx/sites-available/
. Przykładowo:
sudo nano /etc/nginx/sites-available/twojadomenadodatkowa.com
2. Wprowadź poniższą zawartość do utworzonego pliku:
server {
listen 80;
listen [::]:80;
server_name twojadomenadodatkowa.com;
root /var/www/twojadomenadodatkowa.com;
index index.html index.php;
location / {
try_files $uri $uri/ /index.html;
}
}
3. Aktywuj utworzonego wirtualnego hosta:
sudo ln -s /etc/nginx/sites-available/twojadomenadodatkowa.com /etc/nginx/sites-enabled/
4. Zrestartuj serwer Nginx:
sudo systemctl reload nginx
Optymalizacja wydajności
W celu zwiększenia wydajności Nginx warto zastosować następujące techniki:
- Wykorzystanie buforowania
- Włączenie kompresji GZIP
- Dostosowanie liczby procesów roboczych (workerów) i parametrów połączeń
- Zastosowanie serwera proxy z buforowaniem
Podsumowanie
Po poprawnej instalacji i konfiguracji serwera Nginx na systemie Ubuntu Server 23.10, dysponujesz wydajnym i niezawodnym serwerem do obsługi witryn internetowych i aplikacji webowych. Pamiętaj o systematycznym monitorowaniu oraz aktualizowaniu oprogramowania, by zapewnić bezpieczeństwo i optymalne działanie serwera.
Najczęściej zadawane pytania
1. Jak sprawdzić status serwera Nginx? | Uruchom polecenie: sudo systemctl status nginx |
2. Jak wyświetlić logi serwera Nginx? | Skorzystaj z poleceń: sudo tail /var/log/nginx/access.log (logi dostępu) lub sudo tail /var/log/nginx/error.log (logi błędów) |
3. Jak zwiększyć ilość obsługiwanych połączeń? | Dostosuj parametr worker_connections w pliku konfiguracyjnym /etc/nginx/nginx.conf |
4. Jak skonfigurować reguły przekierowań? | Użyj sekcji rewrite w pliku konfiguracyjnym |
5. Jak zabezpieczyć serwer Nginx przed atakami? | Włącz HTTPS, zastosuj WAF (Web Application Firewall) i regularnie aktualizuj oprogramowanie |
6. Jak zdefiniować alias katalogu? | Użyj dyrektywy alias w konfiguracji serwera |
7. Jak skonfigurować niestandardową stronę błędu 404? | Wykorzystaj dyrektywę error_page w pliku konfiguracyjnym |
8. Jak aktywować wsparcie dla HTTP/3? | Wprowadź dyrektywę http3 do konfiguracji serwera |
9. Jak zoptymalizować Nginx dla witryn WordPress? | Skorzystaj z buforowania, kompresji GZIP i serwera proxy cacheującego |
10. Jak ustawić automatyczne przekierowania HTTP na HTTPS? | Użyj dyrektywy return w konfiguracji serwera |
newsblog.pl
Maciej – redaktor, pasjonat technologii i samozwańczy pogromca błędów w systemie Windows. Zna Linuxa lepiej niż własną lodówkę, a kawa to jego główne źródło zasilania. Pisze, testuje, naprawia – i czasem nawet wyłącza i włącza ponownie. W wolnych chwilach udaje, że odpoczywa, ale i tak kończy z laptopem na kolanach.