[[oktatas:linux:webszerver|< Webszerver]] ====== Nginx ====== * **Szerző:** Sallai András * Copyright (c) Sallai András, 2012, 2017, 2022 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|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