ΠΠ°ΠΊ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Nginx Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° HTTP/2 Π² Ubuntu
Nginx Π΅ ΠΌΠΎΡΠ΅Π½ ΡΠ΅Π± ΡΡΡΠ²ΡΡ, ΠΈΠ·Π²Π΅ΡΡΠ΅Π½ ΡΡΡ ΡΠ²ΠΎΡΡΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΡΡ. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° HTTP/2 ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠ²ΠΈΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠ°, ΠΊΠ°ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈ ΠΌΡΠ»ΡΠΈΠΏΠ»Π΅ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅, Π½Π°ΠΌΠ°Π»ΠΈ Π»Π°ΡΠ΅Π½ΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅. Π’ΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ΅ Π²ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ ΡΡΡ ΡΡΡΠΏΠΊΠΈΡΠ΅ Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Nginx Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° HTTP/2 Π² Ubuntu 18.04/20.04
1. ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ
ΠΡΠ΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅, ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΡΠ΅ ΡΡΡ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ
- Π‘ΡΡΠ²ΡΡ Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° Ubuntu 18.04 ΠΈΠ»ΠΈ Ubuntu 20.04 .
- Sudo ΠΏΡΠ°Π²Π° Π·Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈ.
2. ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅
ΠΠ°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Ρ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅, Π·Π° Π΄Π° ΡΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΈ, ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΡΠ΅ Ρ Π½Π°ΠΉ-Π½ΠΎΠ²Π°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π·Π° Π½Π°Π»ΠΈΡΠ½ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ
sudo apt update3. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Nginx
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Nginx
ΠΠ° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Nginx, ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°
sudo apt install nginxΠ‘ΡΡΠΏΠΊΠ° 2: Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Nginx
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅, ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Nginx
sudo systemctl start nginxΠ‘ΡΡΠΏΠΊΠ° 3: Π Π°Π·ΡΠ΅ΡΠ΅ΡΠ΅ Nginx Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅
ΠΠ° Π΄Π° ΠΎΡΠΈΠ³ΡΡΠΈΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Nginx ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅, ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅
sudo systemctl enable nginx4. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° OpenSSL
ΠΠ° Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ HTTP/2, ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ°ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ SSL/TLS. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ OpenSSL, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅
sudo apt install openssl5. ΠΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΎΡ Let’s Encrypt. ΠΡΡΠ²ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Certbot, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠΌΠ°Π³Π° Π·Π° ΠΏΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ
sudo apt install certbot python3-certbot-nginxΠ‘ΡΡΠΏΠΊΠ° 1: ΠΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ
ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π·Π° Π²Π°ΡΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½
sudo certbot --nginxΠ‘Π»Π΅Π΄Π²Π°ΠΉΡΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡΡΠ°, Π·Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΡΠΈ. Certbot Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° Nginx Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° ΠΈ ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° HTTPS
6. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Nginx Π·Π° HTTP/2
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΈΠΌΠ°ΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ HTTP/2 Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Nginx
Π‘ΡΡΠΏΠΊΠ° 1: Π Π΅Π΄Π°ΠΊΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Nginx
ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° Nginx ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅
sudo nano /etc/nginx/sites-available/defaultΠ‘ΡΡΠΏΠΊΠ° 2: ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π±Π»ΠΎΠΊΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°
ΠΠ°ΠΌΠ΅ΡΠ΅ΡΠ΅ Π±Π»ΠΎΠΊΠ° Π½Π° ΡΡΡΠ²ΡΡΠ° Π·Π° Π²Π°ΡΠ°ΡΠ° HTTPS ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ° ΡΡΡ listen 443 ssl;). ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π³ΠΎ, Π·Π° Π΄Π° Π²ΠΊΠ»ΡΡΠΈ http2 ΠΏΠΎ ΡΠ»Π΅Π΄Π½ΠΈΡ Π½Π°ΡΠΈΠ½
server {
listen 443 ssl http2;
server_name your_domain.com; # Replace with your domain
ssl_certificate /etc/letsencrypt/live/your_domain.com/fullchain.pem; # Adjust as necessary
ssl_certificate_key /etc/letsencrypt/live/your_domain.com/privkey.pem; # Adjust as necessary
location / {
# Your site configuration
}
}Π‘ΡΡΠΏΠΊΠ° 3: ΠΠ°ΠΏΠ°Π·Π΅ΡΠ΅ ΠΈ ΠΈΠ·Π»Π΅Π·ΡΠ΅
ΠΠ°ΠΏΠ°Π·Π΅ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΈ ΠΈΠ·Π»Π΅Π·ΡΠ΅ ΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° (CTRL + X, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Y, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Enter)
7. Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Nginx
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Nginx, ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π·Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°: ΠΠΊΠΎ Π²ΡΠΈΡΠΊΠΎ Π΅ Π½Π°ΡΠ΅Π΄, ΡΠ΅ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅
8. Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Nginx
ΠΠ° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅, ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Nginx
sudo systemctl restart nginx9. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ°ΡΠ° Π½Π° HTTP/2
ΠΠ° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄Π°Π»ΠΈ HTTP/2 Π΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΎΠ½Π»Π°ΠΉΠ½ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ ΠΊΠ°ΡΠΎ tools.keycdn.com/http2-test ΠΈΠ»ΠΈ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Π±ΡΠ°ΡΠ·ΡΡ Ρ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°
- ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΡΠ΅Π±ΡΠ°ΠΉΡΠ° ΡΠΈ Π² ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡ.
- Π©ΡΠ°ΠΊΠ½Π΅ΡΠ΅ Ρ Π΄Π΅ΡΠ½ΠΈΡ Π±ΡΡΠΎΠ½ Π½Π° ΠΌΠΈΡΠΊΠ°ΡΠ° ΠΈ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ Inspect (ΠΡΠΎΠ²Π΅ΡΠΊΠ°) ΠΈΠ»ΠΈ Π½Π°ΡΠΈΡΠ½Π΅ΡΠ΅ F12, Π·Π° Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ Developer Tools (ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈ).
- ΠΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° ΡΠ°Π·Π΄Π΅Π»Π° Network (ΠΡΠ΅ΠΆΠ°) ΠΈ ΠΏΡΠ΅Π·Π°ΡΠ΅Π΄Π΅ΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°.
- Π©ΡΠ°ΠΊΠ½Π΅ΡΠ΅ Π²ΡΡΡ Ρ Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΠΊΠΎΠ»ΠΎΠ½Π°ΡΠ° Protocol (ΠΡΠΎΡΠΎΠΊΠΎΠ»), Π·Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π΄Π°Π»ΠΈ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° HTTP/2.
10. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Nginx Ρ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° HTTP/2 Π² Ubuntu 18.04/20.04 Π΅ ΡΡΠ΄Π΅ΡΠ΅Π½ Π½Π°ΡΠΈΠ½ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠ° ΡΠΈ. ΠΠ°ΡΠΎ ΡΠ»Π΅Π΄Π²Π°ΡΠ΅ ΡΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ, ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ HTTP/2, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΡΠ²Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΎΡΠΎ ΠΈΠ·ΠΆΠΈΠ²ΡΠ²Π°Π½Π΅. Π Π΅Π΄ΠΎΠ²Π½ΠΎ Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ ΡΡΡΠ²ΡΡΠ° ΡΠΈ ΠΈ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ° ΡΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
