Nginx to cieszący się uznaniem serwer WWW, znany z wyjątkowej wydajności, elastyczności i możliwości skalowania. Znajduje szerokie zastosowanie przy hostingu stron internetowych, aplikacji sieciowych oraz jako serwer przekazujący pliki. W tym przewodniku krok po kroku pokażemy, jak zainstalować i skonfigurować Nginx na dystrybucji Rocky Linux 9.
Wprowadzenie do Nginx
Nginx (wymawiany „endżin-iks”) to otwarte oprogramowanie serwera internetowego, którego autorem jest Igor Sysoev. Napisany w języku C, wykorzystuje asynchroniczny model oparty na zdarzeniach, co umożliwia mu jednoczesną obsługę wielu połączeń przy minimalnym zużyciu zasobów systemowych.
Wymagania wstępne
Aby móc zainstalować Nginx w środowisku Rocky Linux 9, wymagane jest posiadanie dostępu do konta root lub użytkownika z uprawnieniami sudo.
Proces instalacji Nginx
1. Aktualizacja systemu
Przed przystąpieniem do instalacji nowego oprogramowania, zaleca się aktualizację systemu operacyjnego. Wykonaj poniższe polecenie w terminalu:
sudo dnf update -y
2. Instalacja pakietu Nginx
Aby zainstalować Nginx z oficjalnych repozytoriów Rocky Linux 9, skorzystaj z następującego polecenia:
sudo dnf install nginx -y
3. Uruchomienie i aktywacja usługi Nginx
Po pomyślnej instalacji, należy uruchomić usługę Nginx, wprowadzając:
sudo systemctl start nginx
Aby usługa uruchamiała się automatycznie wraz ze startem systemu, wykonaj komendę:
sudo systemctl enable nginx
Konfiguracja Nginx – podstawowe kroki
1. Weryfikacja konfiguracji
Po zainstalowaniu Nginx, sprawdź poprawność konfiguracji, wykorzystując polecenie:
sudo nginx -t
W przypadku poprawnej konfiguracji, w odpowiedzi zobaczysz komunikat „test is successful”.
2. Główny plik konfiguracyjny
Podstawowy plik konfiguracyjny Nginx znajduje się w ścieżce /etc/nginx/nginx.conf
. Zawiera on kluczowe ustawienia serwera, takie jak porty nasłuchu, lokalizację katalogu z plikami witryny oraz pliki indeksowe.
3. Tworzenie witryn wirtualnych
Nginx wykorzystuje wirtualne hosty do obsługi różnych domen lub aplikacji na tym samym serwerze. Aby dodać nową witrynę, stwórz nowy plik w katalogu /etc/nginx/conf.d/
. Nazwa pliku powinna być zakończona rozszerzeniem .conf
.
Przykładowo, aby skonfigurować witrynę wirtualną dla domeny example.com
, stwórz plik /etc/nginx/conf.d/example.com.conf
z następującą zawartością:
server {
listen 80;
server_name example.com;
root /var/www/example.com;
index index.html index.php;
}
Pamiętaj, aby zamienić example.com
na nazwę swojej domeny i wskazać właściwy katalog główny dla swojej strony.
Testowanie poprawności działania Nginx
1. Testowanie witryny internetowej
Aby przetestować swoją witrynę, otwórz przeglądarkę internetową i wpisz adres URL Twojej domeny (np. http://example.com
). Jeśli konfiguracja przebiegła poprawnie, powinna wyświetlić się strona główna Twojej witryny.
2. Sprawdzanie statusu serwera
Status serwera Nginx możesz sprawdzić, wykonując komendę:
sudo systemctl status nginx
W przypadku prawidłowego działania usługi, status powinien wskazywać „active (running)”.
Zarządzanie serwerem Nginx
1. Odświeżanie konfiguracji
Po wprowadzeniu zmian w plikach konfiguracyjnych, należy przeładować konfigurację serwera Nginx, aby zmiany zostały wprowadzone. Zrobisz to za pomocą polecenia:
sudo nginx -s reload
2. Zatrzymywanie i uruchamianie usługi
Aby zatrzymać działanie serwera Nginx, wprowadź:
sudo systemctl stop nginx
Aby ponownie uruchomić serwer, użyj polecenia:
sudo systemctl restart nginx
Podsumowanie
W niniejszym poradniku przedstawiliśmy proces instalacji i konfiguracji serwera Nginx w systemie Rocky Linux 9. Nginx to wydajne narzędzie, które można wykorzystać do obsługi szerokiej gamy aplikacji internetowych. Mamy nadzieję, że ten przewodnik okazał się pomocny w uruchomieniu serwera na Twoim systemie.
Najczęściej zadawane pytania (FAQ)
1. Jak sprawdzić zainstalowaną wersję Nginx?
sudo nginx -v
2. Jak otworzyć porty zapory sieciowej dla ruchu Nginx?
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
3. Jak aktywować kompresję GZIP w Nginx?
Dodaj poniższe linie w konfiguracji Twojej witryny wirtualnej:
gzip on;
gzip_comp_level 6;
gzip_min_length 256;
gzip_types text/plain text/css application/json application/javascript application/x-javascript text/xml application/xml application/xml+rss text/javascript;
4. Jak dodać nagłówek „Strict-Transport-Security” do odpowiedzi Nginx?
Umieść tę linię w konfiguracji witryny wirtualnej:
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains";
5. Jak włączyć pamięć podręczną (cache) w Nginx?
Dodaj te linie w pliku konfiguracyjnym:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=100m inactive=60m;
proxy_cache_key "$scheme$request_method$host$request_uri";
proxy_cache_use_stale error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_cache_valid any 302 10m;
proxy_cache_valid 200 301 60m;
add_header X-Cache "$upstream_cache_status";
6. Jak włączyć obsługę HTTPS w Nginx?
Wygeneruj certyfikat SSL oraz klucz prywatny. Następnie dodaj do konfiguracji witryny:
listen 443 ssl;
ssl_certificate /path/to/certificate.crt;
ssl_certificate_key /path/to/private.key;
7. Jak rozwiązywać problemy z Nginx?
Przeanalizuj logi Nginx znajdujące się w /var/log/nginx/error.log
oraz /var/log/nginx/access.log
. Wykorzystaj też narzędzie nginx -t
, aby zweryfikować błędy w konfiguracji.
8. Jak zoptymalizować Nginx pod kątem wydajności?
- Stosuj statyczne buforowanie plików, takich jak obrazy i arkusze CSS.
- Korzystaj z kompresji GZIP.
- Włącz pamięć podręczną Nginx.
- Skonfiguruj pulę połączeń.
- Optymalizuj ustawienia wątków roboczych.
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.