nginx na dobre wyparł już ze świata Linuxa starego poczciwego httpd/Apache (zdanie z przymróżeniem oka). Oto krótki przewodnik instalacji nginx na Ubuntu
Zaczynamy od instalacji samego pakietu:
sudo apt update sudo apt install nginx
Podczas instalacji pakietu dzieje się jedna fajna rzecz. Nginx dodaje reguły aplikacyjne do firewalla ufw. Można je wylistować korzystając z:
sudo ufw app list
Są trzy domyślne zestawy: HTTP, HTTPS i Full (zawierający zarówno http jak i https). Można je włączyć uruchamiając np:
sudo ufw allow 'Nginx Full'
Jeśli chcesz zachować kontrolę nad zmianami w firewall możesz też otwierać zamykać porty samodzielnie korzystając z nazw protokołów lub nawet numerów portów:
sudo ufw allow https sudo ufw allow 443
Status firewalla można sprawdzić poleceniem
sudo ufw status
a spodziewany wynik to np coś w tym stylu:
Status: active To Action From -- ------ ---- 443/tcp ALLOW Anywhere 22/tcp ALLOW Anywhere 80/tcp ALLOW Anywhere Nginx Full ALLOW Anywhere 443/tcp (v6) ALLOW Anywhere (v6) 22/tcp (v6) ALLOW Anywhere (v6) 80/tcp (v6) ALLOW Anywhere (v6) Nginx Full (v6) ALLOW Anywhere (v6)
Gdyby status ufw był inactive, to włączenie firewalla wykonasz przez
sudo ufw enable
Jednak przed włączeniem ufw, warto sprawdzić, czy np. zezwalamy na połączenia na porcie 22 (ssh). Niestety nie ma komendy, która by pozwoliła to zzrobić za prośrednictem ufw. Można za to wszystkie reguły podejrzeć w pliku:
sudo cat /etc/ufw/user.rules
Wróćmy do konfiguracji nginx. Warto by było, żeby usługa startowała automatycznie po uruchomieniu systemu:
systemctl enable nginx systemctl start nginx systemctl status nginx
Domyślna konfiguracja nginx znajduje się w /etc/nginx/nginx.conf. Domyślnie serwer nasłuchuje tylko na porcie 80 i root wskazuje na pliki w katalogu /var/www/html
Konfigurację można (i należy) docelowo zmienić tak, aby mogła obsługiwać multi-site.
Całkiem ładny opis instalacji ingx jest też tu
https://www.digitalocean.com/community/tutorials/how-to-install-nginx-on-ubuntu-20-04
Manual do ufw tutaj:
https://ubuntu.com/server/docs/security-firewall
i tu:
How To Setup a Firewall with UFW on an Ubuntu and Debian Cloud Server | DigitalOcean