Nginx (tsz. Nginxes)
Az Nginx-t eredetileg azért hozták létre, hogy kezelje a “C10k” problémát, vagyis hogy egyetlen szerver több mint 10 000 egyidejű kapcsolatot legyen képes kezelni. Az Nginx mára a legnépszerűbb webszerverek közé tartozik, és különösen jól teljesít nagy terhelés alatt, dinamikus alkalmazásokkal együtt.
Az Nginx telepítése viszonylag egyszerű, és a legtöbb Linux disztribúció csomagkezelője támogatja. A telepítés folyamata a rendszertől függően változhat.
A csomagkezelő frissítése:
sudo apt update
Nginx telepítése:
sudo apt install nginx
Nginx indítása:
Az Nginx szolgáltatás elindítása:
sudo systemctl start nginx
Nginx engedélyezése az automatikus indításhoz:
Hogy az Nginx automatikusan induljon a rendszer indításakor:
sudo systemctl enable nginx
Tesztelés:
Miután telepítetted és elindítottad az Nginx-t, a böngészőben látogass el a szerver IP-címére vagy a localhost
címre:
http://localhost
Ha mindent jól csináltál, megjelenik az Nginx üdvözlő oldala.
A csomagkezelő frissítése:
sudo yum update
Nginx telepítése:
sudo yum install nginx
Nginx indítása:
sudo systemctl start nginx
Nginx engedélyezése az automatikus indításhoz:
sudo systemctl enable nginx
Az Nginx fő konfigurációs fájlja általában a következő helyen található:
/etc/nginx/nginx.conf
/etc/nginx/nginx.conf
A konfigurációs fájlok általában több részre vannak osztva, például az alapvető konfigurációra, virtuális hostokra, és további beállításokra.
Az alábbiakban egy egyszerű Nginx konfigurációs fájl látható, amely statikus fájlokat szolgál ki egy adott mappából:
server {
listen 80;
server_name example.com;
root /var/www/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
Magyarázat:
example.com
.
Az Nginx támogatja a virtuális hostok (Server Blocks) használatát, amelyek lehetővé teszik több domain kezelését egyetlen szerverről. Például, ha két különböző domainhez szeretnél külön konfigurációkat beállítani.
Például egy virtuális host beállítása:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
error_page 404 /404.html;
location = /404.html {
internal;
}
}
example.com
és www.example.com
).
Az Nginx könnyen konfigurálható HTTPS kiszolgálásra. Ehhez SSL tanúsítványt kell használnod, például a Let’s Encrypt tanúsítványt.
Példa HTTPS konfigurációra:
server {
listen 443 ssl;
server_name example.com;
ssl_certificate /etc/ssl/certs
/example.com.crt;
ssl_certificate_key /etc/ssl/private/example.com.key;
root /var/www/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Az Nginx beépített terheléselosztási mechanizmusokat kínál, amelyek lehetővé teszik, hogy a bejövő forgalmat több háttérszerver között ossza szét.
Példa terheléselosztásra:
http {
upstream backend {
server backend1.example.com;
server backend2.example.com;
server backend3.example.com;
}
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://backend;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
}
Az Nginx képes gyorsítótárként is működni, tárolva a gyakran használt tartalmakat, hogy javítsa a teljesítményt és csökkentse a háttérszerver terhelését.
Példa egyszerű proxy gyorsítótár beállításra:
proxy_cache_path /var/cache/nginx levels=1:2 keys_zone=my_cache:10m max_size=10g inactive=60m use_temp_path=off;
server {
location / {
proxy_cache my_cache;
proxy_pass http://backend;
proxy_cache_valid 200 1h;
proxy_cache_bypass $http_cache_control;
}
}
Az Nginx egy hatékony és rugalmas webszerver, amely kiválóan alkalmas statikus és dinamikus tartalmak kiszolgálására, fordított proxyként és terheléselosztóként való működésre. Magas teljesítménye és alacsony erőforrásigénye miatt különösen népszerű nagy forgalmú weboldalak és alkalmazások esetében. Könnyen testreszabható és bővíthető különféle modulokkal és konfigurációkkal, így széleskörűen használják kis- és nagyvállalati környezetben is.