Tartalomjegyzék

< Webszerver

Nginx

Telepítés

Telepítéskor ügyeljünk arra, ha egy másik webszerver telepítve van, akkor azzal nincs konfliktusban a csomagkezelőben, azaz feltehető második webszerverként is.

apt install nginx

A legújabb verzió letölthetjük innen:

Beállítások

A beállítások a /etc/nginx könyvtárban találhatók.

Telepítés után a következő könyvtárak és fájlokat találjuk itt:

A nginx.conf fájlban vannak a kezdőbeállíátsok.

Elsőnek kiszolgált fájl

A http szekcióba vegyük fel:

index index.html

A legújabb verzióban már location direktíva is használható. Valahogy így:

location / {
    index index.$geo.html index.html;
}

Hibaoldalak

server {
    ...
    error_page 404             /404.html;
    error_page 500 502 503 504 /50x.html;
    location = /404.html {
        root   /usr/share/nginx/html;
    }
    location = /50x.html {
        root   /usr/share/nginx/html;
    }
    ...
}

URL is megadható:

error_page 403      http://zold.and/forbidden.html;
error_page 404 =301 http://zold.and/notfound.html;

Lehet így is:

location /404.html {
    internal;
}

Korlátozás:

limit_except GET {
    allow 192.168.5.0/24;
    deny  all;
}

Naplózás szabályozása:

location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    access_log off;
    expires max;
  }

Virtualhost

A virtualhostot itt server block néven is használjuk.

A virtualhost beállításait a következő helyre tehetjük: /etc/nginx/sites-available. Legyen a példa kedvéért egy „piros” nevű tartománynév, „and” főtartomány-névvel.

mcedit /etc/nginx/sites-available/piros.and

Beállítások:

server{

    listen 80;
    server_name piros.and;
    
    root /var/www/piros.and/htdocs;
    index index.html;
    
    # naplózás
    access_log /var/log/nginx/[host].access.log;
    error_log /var/log/nginx/[host].error.log;
    
    location / {
    }    

}

Engedélyezzük:

ln /etc/nginx/sites-available/piros.and /etc/nginx/sites-enabled/piros.and
service nginx restart
service nginx configtest
service nginx status

PHP telepítés

Rendszergazdaként:

apt install php-fpm php-mysql php-xml

Kérdezzük le a fastCGI folyamatkezelőt:

systemctl status php7.4-fpm