Nginx konfiguracja

Plik konfiguracyjny /etc/nginx/nginx.conf.

user www-data;        # ustawienie użytkownika jakim posługuje się nginx
worker_process auto;  # ustawienie ilości procesów do obsługi nxinx-a
pid /run/nginx.pid;   # informacje i lokalizacji pliku pid

events {
   worker_connections 123; # ustawienie max ilości klientów działających jednocześnie dla jednego procesu
}

http {
   include /inny-plik-konfuiguracyjny;     # zaciągnięcie danych z innego pliku
   default_type application/octet-stream; # typ mime jeśli nie będzie odpowiadającego

   

   access_log /var/log/nginx/access.log;   # plik z logami dostępu
   error_log /var/log/nginx/error.log;     # plik z logami błędów
}

Plik konfiguracyjny /etc/nginx/sites-available/example.com.

server {
   root /var/www/example.com; # Folder z plikami udostępnianymi przez nginx
   index index.php;           # Głowny plik do uruchomienia z folderu
   server_name example.com;   # Nazwa domeny przypisanej do host-a
   
   location {
      try_files $uri $usi/ =404; # Zapisywanie zapytań o nieistniejącego pliki jako error 404
   }
}

Podlinkowanie pliku konfiguracyjnego, żeby był includowany przez główny plik konfiguracyjny nxing-a

ln -s /etc/nginx/sites-available/example.com.conf /etc/nginx/sites-enabled

Test konfiguracji

nginx -t

Przekierowanie ruchu z nginx-a do innej usługi/portu

upstream mynode {
   server localhost:8080;
}

server {
   ...

   location / {
      pass_proxy http://mynode;
   }
}

Load balancing

upstream mynode {
   server localhost:8080;
   server localhost:8081;
}

server {
   ...

   location / {
      pass_proxy http://mynode;
   }
}

ilość przekierowań można kontrolować przez dodanie weight=1, weight=4.

Czyszczenie adresów URL

server {
    server_name www.example.com example.com;
    return 301 https://example.com$request_uri;
}