< Webszerver

Nginx

Szerző: Sallai András

Copyright © Sallai András, 2012, 2017, 2022

Licenc: CC Attribution-Share Alike 4.0 International

Web: https://szit.hu

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:

http://nginx.org

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:

conf.d/

sites-available/

sites-enabled/

fastcgi_params

koi-utf

koi-win

mime.types

nginx.conf

win-utf

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