Nginx (izrunā "engine-x") ir viens no populārākajiem tīmekļa serveriem pasaulē, ko izmanto aptuveni 34% visu aktīvo mājas lapu. Tas ir pazīstams ar augstu veiktspēju, zemu atmiņas patēriņu un spēju apkalpot lielu skaitu vienlaicīgu savienojumu.
Šajā rakstā detalizēti apskatīsim Nginx konfigurāciju — no pamata iestatījumiem līdz veiktspējas optimizācijai un drošības pastiprināšanai.
1. Kas ir Nginx un kāpēc to izvēlēties?
Nginx sākotnēji tika izveidots 2004. gadā, lai atrisinātu C10K problēmu — spēju vienlaicīgi apkalpot 10 000 savienojumu. Atšķirībā no Apache, kas katram savienojumam izveido atsevišķu procesu vai pavedienu, Nginx izmanto notikumu vadītu (event-driven) arhitektūru.
Nginx priekšrocības
| Īpašība | Nginx | Apache |
|---|---|---|
| Arhitektūra | Notikumu vadīta (asinhrona) | Procesu/pavedienu vadīta |
| Statiskais saturs | Ārkārtīgi ātrs | Labs, bet lēnāks |
| Atmiņas patēriņš | Zems | Augstāks ar daudziem savienojumiem |
| Konfigurācija | Centralizēta (faili) | .htaccess + faili |
| Reverse proxy | Iebūvēts, ātrs | Modulis (mod_proxy) |
Galvenie Nginx pielietojumi
- Tīmekļa serveris — apkalpo statiskos un dinamiskos pieprasījumus
- Reverse proxy — pārsūta pieprasījumus uz iekšējiem serveriem (Node.js, Python, PHP-FPM)
- Slodzes balansētājs — sadala trafiku starp vairākiem serveriem
- SSL terminācija — apstrādā HTTPS un pārsūta HTTP uz iekšējiem serveriem
- Kešošanas serveris — saglabā bieži pieprasīto saturu atmiņā
2. Instalēšana
Ubuntu / Debian
sudo apt update
sudo apt install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
CentOS / RHEL / AlmaLinux
sudo dnf install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx
Pārbaude
Pēc instalēšanas atveriet pārlūkprogrammā servera IP adresi — jāparādās Nginx sveiciena lapa. Pārbaudiet statusu:
sudo systemctl status nginx
nginx -v
3. Konfigurācijas failu struktūra
Nginx konfigurācija ir organizēta hierarhiskā struktūrā:
/etc/nginx/
├── nginx.conf # Galvenā konfigurācija
├── conf.d/ # Papildu konfigurācijas faili
├── sites-available/ # Pieejamās vietnes (Debian/Ubuntu)
├── sites-enabled/ # Aktivizētās vietnes (simboliskās saites)
├── snippets/ # Atkārtoti izmantojami konfigurācijas fragmenti
├── mime.types # MIME tipu definīcijas
├── fastcgi_params # FastCGI parametri
└── modules-enabled/ # Aktivizētie moduļi
Konfigurācijas konteksti (bloki)
Nginx konfigurācija izmanto ligzdotos blokus:
# Galvenais konteksts (main)
worker_processes auto;
# Notikumu konteksts
events {
worker_connections 1024;
}
# HTTP konteksts
http {
# HTTP iestatījumi
# Servera konteksts
server {
listen 80;
server_name example.com;
# Atrašanās vietas konteksts
location / {
root /var/www/html;
}
}
}
| Konteksts | Apraksts |
|---|---|
| main | Globālie iestatījumi (ārpus visiem blokiem) |
| events | Savienojumu apstrādes konfigurācija |
| http | HTTP servera iestatījumi |
| server | Konkrētas vietnes (virtual host) iestatījumi |
| location | Pieprasījumu apstrāde pēc URL ceļa |
4. Galvenā konfigurācija (nginx.conf)
Rediģējiet galveno konfigurācijas failu:
sudo nano /etc/nginx/nginx.conf
Optimizēta nginx.conf konfigurācija
# Darbinieku procesu skaits (auto = CPU kodolu skaits)
worker_processes auto;
# Maksimālais atvērto failu skaits katram procesam
worker_rlimit_nofile 65535;
# PID faila atrašanās vieta
pid /run/nginx.pid;
events {
# Maksimālais savienojumu skaits katram darbiniekam
worker_connections 4096;
# Pieņemt visus jaunos savienojumus uzreiz
multi_accept on;
# Izmantot efektīvāko metodi (Linux)
use epoll;
}
http {
# === Pamata iestatījumi ===
sendfile on;
tcp_nopush on;
tcp_nodelay on;
# Savienojuma noildzes laiks
keepalive_timeout 30;
keepalive_requests 1000;
# Bufera izmēri
client_body_buffer_size 16k;
client_header_buffer_size 1k;
client_max_body_size 64M;
large_client_header_buffers 4 16k;
# Noildzes
client_body_timeout 12;
client_header_timeout 12;
send_timeout 10;
# MIME tipi
include /etc/nginx/mime.types;
default_type application/octet-stream;
# === Logošana ===
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log warn;
# === Gzip saspiešana ===
gzip on;
gzip_vary on;
gzip_comp_level 5;
gzip_min_length 256;
gzip_proxied any;
gzip_types
text/plain
text/css
text/xml
text/javascript
application/json
application/javascript
application/xml
application/xml+rss
application/xhtml+xml
image/svg+xml
font/woff
font/woff2;
# === Iekļaut vietnes ===
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
Galveno parametru skaidrojums
| Parametrs | Skaidrojums | Ieteicamā vērtība |
|---|---|---|
| worker_processes | Darbinieku procesu skaits | auto (= CPU kodoli) |
| worker_connections | Savienojumi katram procesam | 1024–4096 |
| sendfile | Efektīvāka failu sūtīšana | on |
| tcp_nopush | Nosūta galvenes un saturu kopā | on |
| keepalive_timeout | Cik ilgi turēt savienojumu atvērtu | 15–30 sekundes |
| gzip_comp_level | Saspiešanas līmenis (1–9) | 4–6 (balanss) |
5. Virtuālā hosta (server bloka) izveide
Katrai mājas lapai izveido atsevišķu konfigurācijas failu:
sudo nano /etc/nginx/sites-available/manalapa.lv
Pamata konfigurācija (HTTP)
server {
listen 80;
listen [::]:80;
server_name manalapa.lv www.manalapa.lv;
root /var/www/manalapa.lv;
index index.html index.htm;
# Logošana
access_log /var/log/nginx/manalapa.lv.access.log;
error_log /var/log/nginx/manalapa.lv.error.log;
location / {
try_files $uri $uri/ =404;
}
}
Aktivizēšana
# Izveidojiet simbolisko saiti
sudo ln -s /etc/nginx/sites-available/manalapa.lv /etc/nginx/sites-enabled/
# Pārbaudiet konfigurācijas sintaksi
sudo nginx -t
# Pārlādējiet Nginx
sudo systemctl reload nginx
Svarīgi: Vienmēr pārbaudiet konfigurāciju ar nginx -t pirms pārlādēšanas. Kļūdaina konfigurācija var apturēt serveri!
PHP atbalsts (ar PHP-FPM)
Lai apkalpotu PHP lietotnes (WordPress, Laravel u.c.), pievienojiet PHP apstrādes bloku:
server {
listen 80;
server_name manalapa.lv www.manalapa.lv;
root /var/www/manalapa.lv;
index index.php index.html;
location / {
try_files $uri $uri/ /index.php?$args;
}
# PHP apstrāde caur PHP-FPM
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
# Bufera optimizācija
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
}
# Bloķēt piekļuvi slēptajiem failiem
location ~ /\. {
deny all;
}
}
6. SSL/TLS konfigurācija (HTTPS)
Droša HTTPS konfigurācija ir obligāta jebkurai modernai mājas lapai. Izmantojiet bezmaksas Let's Encrypt sertifikātus.
Sertifikāta iegūšana ar Certbot
sudo apt install certbot python3-certbot-nginx -y
sudo certbot --nginx -d manalapa.lv -d www.manalapa.lv
Optimizēta SSL konfigurācija
server {
listen 80;
listen [::]:80;
server_name manalapa.lv www.manalapa.lv;
# Pāradresēt visu trafiku uz HTTPS
return 301 https://$host$request_uri;
}
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name manalapa.lv www.manalapa.lv;
root /var/www/manalapa.lv;
index index.html;
# SSL sertifikāti
ssl_certificate /etc/letsencrypt/live/manalapa.lv/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/manalapa.lv/privkey.pem;
# SSL optimizācija
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_session_tickets off;
# Moderni protokoli un šifri
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384;
ssl_prefer_server_ciphers off;
# OCSP Stapling
ssl_stapling on;
ssl_stapling_verify on;
resolver 1.1.1.1 8.8.8.8 valid=300s;
# Drošības galvenes
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header Referrer-Policy "strict-origin-when-cross-origin" always;
add_header Strict-Transport-Security "max-age=63072000; includeSubDomains; preload" always;
location / {
try_files $uri $uri/ =404;
}
}
Drošības galveņu skaidrojums
| Galvene | Funkcija |
|---|---|
| X-Frame-Options | Aizsargā pret clickjacking uzbrukumiem (lapu ielādi iframe) |
| X-Content-Type-Options | Neļauj pārlūkam minēt satura tipu (MIME sniffing) |
| X-XSS-Protection | Aktivizē pārlūka iebūvēto XSS filtru |
| Referrer-Policy | Kontrolē, cik daudz informācijas sūtīt Referer galvenē |
| Strict-Transport-Security | Piespiež pārlūku vienmēr izmantot HTTPS (HSTS) |
7. Location bloku darbība
Location bloki nosaka, kā Nginx apstrādā pieprasījumus pēc URL ceļa. Izprast to prioritāšu secību ir ļoti svarīgi.
Location tipi un to prioritāte
| Sintakse | Tips | Prioritāte | Piemērs |
|---|---|---|---|
| = /ceļš | Precīza sakritība | 1 (augstākā) | = /about |
| ^~ /ceļš | Prefikss (neizmanto regex pēc tam) | 2 | ^~ /images/ |
| ~ regex | Regulārā izteiksme (reģistrjūtīga) | 3 | ~ \.php$ |
| ~* regex | Regulārā izteiksme (nereģistrjūtīga) | 3 | ~* \.(jpg|png)$ |
| /ceļš | Prefikss (parasts) | 4 (zemākā) | /api/ |
Praktiski piemēri
# Precīza sakritība — tikai galvenā lapa
location = / {
# Apstrādā tikai pieprasījumu uz "/"
}
# Prefiksa sakritība — visi faili mapē /static/
location ^~ /static/ {
alias /var/www/static/;
expires 30d;
}
# Regulārā izteiksme — attēli
location ~* \.(jpg|jpeg|png|gif|webp|svg|ico)$ {
expires 365d;
add_header Cache-Control "public, immutable";
access_log off;
}
# Parastu prefiksu sakritība
location /api/ {
proxy_pass http://127.0.0.1:3000;
}
8. Reverse proxy konfigurācija
Nginx bieži izmanto kā reverse proxy — tas pieņem pieprasījumus no interneta un pārsūta tos uz iekšēju lietotni (Node.js, Python, Go u.c.).
Pamata reverse proxy
server {
listen 80;
server_name api.manalapa.lv;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
# Galveņu pārsūtīšana
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;
# WebSocket atbalsts
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
# Noildzes
proxy_connect_timeout 60s;
proxy_send_timeout 60s;
proxy_read_timeout 60s;
}
}
Slodzes balansēšana
Ja jums ir vairāki serveri, Nginx var sadalīt trafiku starp tiem:
upstream backend_servers {
# Round Robin (noklusējuma) — katrs serveris saņem pieprasījumu pēc kārtas
server 127.0.0.1:3001;
server 127.0.0.1:3002;
server 127.0.0.1:3003;
# Vai izmantojiet citus algoritmus:
# least_conn; — nosūta uz serveri ar mazāk aktīvo savienojumu
# ip_hash; — viens klients vienmēr uz vienu serveri
}
server {
listen 80;
server_name manalapa.lv;
location / {
proxy_pass http://backend_servers;
}
}
9. Veiktspējas optimizācija
Statisko failu kešošana
Iestatiet ilgu kešošanas laiku statiskajiem failiem, lai pārlūkprogramma tos saglabātu un nepieprasītu atkārtoti:
# Attēli — kešot 1 gadu
location ~* \.(jpg|jpeg|png|gif|webp|avif|svg|ico)$ {
expires 365d;
add_header Cache-Control "public, immutable";
access_log off;
}
# CSS un JavaScript — kešot 30 dienas
location ~* \.(css|js)$ {
expires 30d;
add_header Cache-Control "public";
access_log off;
}
# Fonti — kešot 1 gadu
location ~* \.(woff|woff2|ttf|eot|otf)$ {
expires 365d;
add_header Cache-Control "public, immutable";
add_header Access-Control-Allow-Origin "*";
access_log off;
}
Gzip saspiešana — detalizēti
Gzip ievērojami samazina pārsūtāmo datu apjomu (parasti par 60–80%):
gzip on;
gzip_vary on;
gzip_comp_level 5; # Balanss starp CPU un saspiešanu
gzip_min_length 256; # Nesaspiest mazus failus
gzip_proxied any; # Saspiest arī proxy atbildes
gzip_disable "msie6"; # Nesaspiest vecajam IE6
gzip_types
text/plain
text/css
text/xml
text/javascript
application/json
application/javascript
application/xml
application/xml+rss
application/xhtml+xml
image/svg+xml
font/woff
font/woff2;
Piezīme: neiekļaujiet bināros formātus (JPEG, PNG, WebP, ZIP) — tie jau ir saspiesti, un atkārtota saspiešana tērē CPU bez ieguvuma.
FastCGI kešošana
Ja serveris apkalpo PHP lietotni, FastCGI kešošana var ievērojami samazināt atbildes laiku, saglabājot PHP ģenerētās lapas:
# Pirms server bloka — definēt kešu
fastcgi_cache_path /var/cache/nginx/fcgi
levels=1:2
keys_zone=FCGICACHE:100m
inactive=60m
max_size=512m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
# Server bloka iekšienē — PHP location
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
# Kešošana
fastcgi_cache FCGICACHE;
fastcgi_cache_valid 200 60m; # Kešot veiksmīgas atbildes 60 min
fastcgi_cache_valid 404 1m; # 404 kešot 1 minūti
# Nekešot pieteikušos lietotājus
set $skip_cache 0;
if ($cookie_sessionid) {
set $skip_cache 1;
}
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
# Pievienot galveni, lai redzētu, vai atbilde nāk no keša
add_header X-Cache-Status $upstream_cache_status;
}
Bufera optimizācija
# Proxy bufera iestatījumi
proxy_buffer_size 128k;
proxy_buffers 4 256k;
proxy_busy_buffers_size 256k;
# FastCGI bufera iestatījumi
fastcgi_buffer_size 32k;
fastcgi_buffers 16 16k;
10. Drošības konfigurācija
Servera versijas slēpšana
Pēc noklusējuma Nginx atklāj savu versiju atbilžu galvenēs. Tas var palīdzēt uzbrucējiem atrast zināmas ievainojamības:
# http blokā
server_tokens off;
Piekļuves ierobežošana
# Bloķēt piekļuvi slēptajiem failiem (.git, .env u.c.)
location ~ /\. {
deny all;
return 404;
}
# Aizsargāt administrācijas paneli ar IP
location /admin/ {
allow 192.168.1.0/24; # Atļaut tikai no iekšējā tīkla
allow 85.123.45.67; # Atļaut konkrētu IP
deny all; # Bloķēt visus pārējos
}
# Paroles aizsardzība (Basic Auth)
location /private/ {
auth_basic "Ierobežota piekļuve";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Paroles faila izveide:
sudo apt install apache2-utils -y
sudo htpasswd -c /etc/nginx/.htpasswd lietotajvards
Pieprasījumu ātruma ierobežošana (Rate Limiting)
Aizsargājiet serveri no pārmērīgiem pieprasījumiem un DDoS uzbrukumiem:
# http blokā — definēt ierobežojuma zonu
limit_req_zone $binary_remote_addr zone=ONE:10m rate=10r/s;
# server vai location blokā — piemērot ierobežojumu
location /api/ {
limit_req zone=ONE burst=20 nodelay;
limit_req_status 429;
proxy_pass http://127.0.0.1:3000;
}
| Parametrs | Skaidrojums |
|---|---|
| rate=10r/s | Atļaut 10 pieprasījumus sekundē no vienas IP |
| burst=20 | Buferis — atļaut līdz 20 papildu pieprasījumiem (rindā) |
| nodelay | Apstrādāt burst pieprasījumus uzreiz, nevis aizkavēt |
11. Logošana un monitorings
Pielāgots loga formāts
# http blokā
log_format detailed '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent" '
'$request_time $upstream_response_time';
# server blokā
access_log /var/log/nginx/manalapa.lv.access.log detailed;
Logu analīze
Noderīgas komandas logu analīzei:
# 10 biežāk pieprasītie URL
awk '{print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
# Pieprasījumi no katras IP (top 10)
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -rn | head -10
# 404 kļūdu saraksts
awk '$9 == "404" {print $7}' /var/log/nginx/access.log | sort | uniq -c | sort -rn
# Reāllaika logu skatīšana
tail -f /var/log/nginx/access.log
Logu rotācija
Nginx logi var kļūt ļoti lieli. Ubuntu/Debian pēc noklusējuma izmanto logrotate. Pārbaudiet konfigurāciju:
cat /etc/logrotate.d/nginx
12. Noderīgas Nginx komandas
| Komanda | Apraksts |
|---|---|
nginx -t |
Pārbaudīt konfigurācijas sintaksi |
nginx -T |
Parādīt pilnu aktīvo konfigurāciju |
nginx -s reload |
Pārlādēt konfigurāciju bez apstāšanās |
nginx -s stop |
Nekavējoties apturēt Nginx |
nginx -s quit |
Gracefully apturēt (pabeigt aktīvos pieprasījumus) |
systemctl status nginx |
Pārbaudīt Nginx servisa statusu |
systemctl restart nginx |
Pārstartēt Nginx |
nginx -V |
Parādīt versiju un kompilācijas parametrus |
13. Biežākās kļūdas un to risinājumi
| Kļūda | Iemesls | Risinājums |
|---|---|---|
| 502 Bad Gateway | Backend serveris nedarbojas | Pārbaudiet PHP-FPM/Node.js statusu |
| 504 Gateway Timeout | Backend atbild pārāk ilgi | Palieliniet proxy_read_timeout |
| 413 Request Entity Too Large | Augšupielāde pārsniedz limitu | Palieliniet client_max_body_size |
| 403 Forbidden | Nav piekļuves tiesību | Pārbaudiet failu atļaujas un location blokus |
| [emerg] bind() failed | Ports jau aizņemts | Pārbaudiet ar ss -tlnp | grep :80 |
| Permission denied (socket) | Nav piekļuves PHP-FPM socket | Pārbaudiet lietotāju www-data |
14. Pilns konfigurācijas piemērs WordPress lapai
Šeit ir pilna, optimizēta Nginx konfigurācija WordPress mājas lapai ar SSL, kešošanu un drošību:
fastcgi_cache_path /var/cache/nginx/wordpress
levels=1:2
keys_zone=WORDPRESS:100m
inactive=60m
max_size=512m;
fastcgi_cache_key "$scheme$request_method$host$request_uri";
# HTTP → HTTPS pāradresēšana
server {
listen 80;
listen [::]:80;
server_name manalapa.lv www.manalapa.lv;
return 301 https://manalapa.lv$request_uri;
}
# www → bez www pāradresēšana
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name www.manalapa.lv;
ssl_certificate /etc/letsencrypt/live/manalapa.lv/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/manalapa.lv/privkey.pem;
return 301 https://manalapa.lv$request_uri;
}
# Galvenais server bloks
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
server_name manalapa.lv;
root /var/www/manalapa.lv;
index index.php index.html;
# SSL
ssl_certificate /etc/letsencrypt/live/manalapa.lv/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/manalapa.lv/privkey.pem;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 1d;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_stapling on;
ssl_stapling_verify on;
# Drošības galvenes
add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Strict-Transport-Security "max-age=63072000" always;
# Logošana
access_log /var/log/nginx/manalapa.lv.access.log;
error_log /var/log/nginx/manalapa.lv.error.log;
client_max_body_size 64M;
# Noteikt, vai izlaist kešu
set $skip_cache 0;
if ($request_method = POST) { set $skip_cache 1; }
if ($query_string != "") { set $skip_cache 1; }
if ($request_uri ~* "/wp-admin/|/wp-login.php") { set $skip_cache 1; }
if ($http_cookie ~* "wordpress_logged_in") { set $skip_cache 1; }
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
# FastCGI kešošana
fastcgi_cache WORDPRESS;
fastcgi_cache_valid 200 60m;
fastcgi_cache_bypass $skip_cache;
fastcgi_no_cache $skip_cache;
add_header X-Cache-Status $upstream_cache_status;
}
# Statisko failu kešošana
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|webp|woff|woff2|ttf|eot)$ {
expires 365d;
add_header Cache-Control "public, immutable";
access_log off;
}
# Drošības noteikumi
location ~ /\. { deny all; }
location ~* /wp-config\.php { deny all; }
location ~* /wp-includes/.*\.php$ { deny all; }
location ~* /wp-content/uploads/.*\.php$ { deny all; }
location = /xmlrpc.php { deny all; }
}
Kopsavilkums
Nginx ir jaudīgs un elastīgs tīmekļa serveris, kas ar pareizu konfigurāciju var apkalpot miljoniem pieprasījumu. Galvenie punkti, ko atcerēties:
- Sāciet ar pamata konfigurāciju un pakāpeniski optimizējiet
- Vienmēr pārbaudiet konfigurāciju ar nginx -t pirms pārlādēšanas
- Izmantojiet SSL/TLS — HTTPS ir obligāts jebkurai modernai lapai
- Kešojiet statisku saturu — attēlus, CSS, JS ar ilgu expires laiku
- Ieslēdziet Gzip — samazina trafiku par 60–80%
- Nodrošiniet drošību — slēpiet versiju, ierobežojiet piekļuvi, izmantojiet drošības galvenes
- Monitorējiet logus — regulāri pārbaudiet kļūdas un aizdomīgas darbības
Noderīgas saites:
- Nginx oficiālā dokumentācija — pilna konfigurācijas atsauce
- DigitalOcean Nginx pamācības — praktiski ceļveži
- SSL Labs Server Test — pārbaudiet SSL konfigurāciju
- Security Headers — pārbaudiet drošības galvenes
- Google PageSpeed Insights — lapas ātruma analīze
Laboja mad, labots 2x










