[[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