ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Nginx Π½Π° CentOS 7: ΠΡΠ»Π½ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΡΡΠΏΠΊΠ° ΠΏΠΎ ΡΡΡΠΏΠΊΠ°
Nginx Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π½Π°ΠΉ-ΠΌΠΎΡΠ½ΠΈΡΠ΅ ΠΈ ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠ΅ΡΠΈ open-source ΡΠ΅Π± ΡΡΡΠ²ΡΡΠΈ Π² ΡΠ²Π΅ΡΠ°. ΠΠ·Π²Π΅ΡΡΠ΅Π½ ΡΡΡ ΡΠ²ΠΎΡΡΠ° ΠΈΠ·ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, Π½ΠΈΡΡΠΊ ΡΠ°Π·Ρ ΠΎΠ΄ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΈ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡ Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Ρ ΠΈΠ»ΡΠ΄ΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ, Nginx Π΅ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΎΡΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΡΠ΅ΡΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ°ΡΠΈΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, Π΄Π΅ΠΉΡΡΠ²Π°Π½Π΅ ΠΊΠ°ΡΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ ΠΏΡΠΎΠΊΡΠΈ ΠΈ ΠΈΠ·Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° Π±Π°Π»Π°Π½ΡΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π² ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ.
ΠΠ΅Π·Π°Π²ΠΈΡΠΈΠΌΠΎ Π΄Π°Π»ΠΈ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°ΡΠ΅ Π»ΠΈΡΠ΅Π½ Π±Π»ΠΎΠ³, ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Π΅Π»Π΅ΠΊΡΡΠΎΠ½Π½Π° ΡΡΡΠ³ΠΎΠ²ΠΈΡ Ρ Π²ΠΈΡΠΎΠΊ ΡΡΠ°ΡΠΈΠΊ ΠΈΠ»ΠΈ ΡΠ»ΠΎΠΆΠ½Π° Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ° Π½Π° ΠΌΠΈΠΊΡΠΎΡΠ΅ΡΠ²ΠΈΠ·ΠΈ, Nginx Π΄ΠΎΡΡΠ°Π²Ρ ΡΠΊΠΎΡΠΎΡΡΡΠ° ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ°, ΠΊΠΎΠΈΡΠΎ Π²Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ. Π’ΠΎΠ²Π° Π²ΡΠ΅ΠΎΠ±Ρ Π²Π°ΡΠ½ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π²ΠΈ ΠΏΡΠ΅Π²Π΅Π΄Π΅ ΠΏΡΠ΅Π· Π²ΡΡΠΊΠ° ΡΡΡΠΏΠΊΠ° Π½Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅, Π·Π°ΡΠΈΡΠ° ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° Nginx Π½Π° ΡΡΡΠ²ΡΡ CentOS 7 β ΠΎΡ Π½Π°ΡΠ°Π»Π½Π° ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²ΠΊΠ° Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΄ΠΎ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° HTTPS Ρ Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΎΡ Let's Encrypt.
> ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡ: Π‘ΡΡΠ²ΡΡ CentOS 7 Ρ root ΠΈΠ»ΠΈ sudo Π΄ΠΎΡΡΡΠΏ. ΠΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ Π½ΡΠΆΠ΄Π° ΠΎΡ Π½Π°Π΄Π΅ΠΆΠ½Π°, Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½Π° ΡΡΠ΅Π΄Π°, Π·Π° Π΄Π° ΡΠ»Π΅Π΄Π²Π°ΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈΡΠ΅, ΠΏΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π΄Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°ΡΠ΅ VPS Hosting ΠΎΡ AlexHost β ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ΅Π½ Π·Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°ΡΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½ΠΈΡ Ρ ΠΏΡΠ»Π΅Π½ root Π΄ΠΎΡΡΡΠΏ ΠΈ SSD Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅.
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°
ΠΡΠ΅Π΄ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π½ΠΎΠ² ΡΠΎΡΡΡΠ΅Ρ Π΅ ΠΊΡΠΈΡΠΈΡΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ Π²Π°ΡΠ°ΡΠ° CentOS 7 ΡΠΈΡΡΠ΅ΠΌΠ° Π΅ Π½Π°ΠΏΡΠ»Π½ΠΎ Π°ΠΊΡΡΠ°Π»Π½Π°. ΠΡΡΠ°ΡΠ΅Π»ΠΈΡΠ΅ ΠΏΠ°ΠΊΠ΅ΡΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π²ΡΠ²Π΅Π΄Π°Ρ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Π² ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° ΠΈ ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠΈ Π½Π° Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΡΠ»ΠΎΠΆΠ½ΡΠ²Π°Ρ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅.
ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ Π²Π°ΡΠΈΡ ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°:
sudo yum update -yΠ’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ° Π²ΡΠΈΡΠΊΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π΄ΠΎ ΡΠ΅Ρ
Π½ΠΈΡΠ΅ Π½Π°ΠΉ-Π½ΠΎΠ²ΠΈ Π½Π°Π»ΠΈΡΠ½ΠΈ Π²Π΅ΡΡΠΈΠΈ. Π€Π»Π°Π³ΡΡ -y Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π° Π²ΡΠΈΡΠΊΠΈ ΠΏΠΎΠ΄ΠΊΠ°Π½ΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π΅ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π΅Π½. ΠΠΎΠ·Π²ΠΎΠ»Π΅ΡΠ΅ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ΡΠΎ Π΄Π° ΡΠ΅ Π·Π°Π²ΡΡΡΠΈ Π½Π°ΠΏΡΠ»Π½ΠΎ ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅.
Π‘ΡΡΠΏΠΊΠ° 2: ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Nginx ΡΡΠ΅Π· YUM
Nginx Π½Π΅ Π΅ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ°ΡΠ° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π½Π° CentOS 7. ΠΡΡΠ²ΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ EPEL (Extra Packages for Enterprise Linux), ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΠΈΡΠΎΠΊ ΡΠΏΠ΅ΠΊΡΡΡ ΠΎΡ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΡΠΎΡΡΡΠ΅ΡΠ½ΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΈ Π·Π° Π΄ΠΈΡΡΡΠΈΠ±ΡΡΠΈΠΈ, Π±Π°Π·ΠΈΡΠ°Π½ΠΈ Π½Π° RHEL.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ΡΠΎ EPEL:
sudo yum install epel-release -yΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Nginx:
sudo yum install nginx -yΠ’Π°Π·ΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»Ρ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ° Nginx Π·Π°Π΅Π΄Π½ΠΎ Ρ Π²ΡΠΈΡΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ. Π‘Π»Π΅Π΄ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π°ΡΠ° Π²Π΅ΡΡΠΈΡ Ρ:
nginx -vΠ’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄, ΠΏΠΎΠ΄ΠΎΠ±Π΅Π½ Π½Π°:
nginx version: nginx/1.20.xΠ‘ΡΡΠΏΠΊΠ° 3: Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Nginx
Π‘ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ΠΈΡ Nginx ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° ΠΈ Π΄Π° Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΡ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΡΡΠ²ΡΡΡΡ ΡΠ΅ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°.
Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Nginx:
sudo systemctl start nginxΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Nginx Π΄Π° ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅:
sudo systemctl enable nginxΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΡΡΠ°ΡΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°, Π·Π° Π΄Π° ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΡΠ΅, ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ:
sudo systemctl status nginxΠ’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΈΠ·Ρ ΠΎΠ΄, ΡΠΊΠ°Π·Π²Π°Ρ, ΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Π΅ Π°ΠΊΡΠΈΠ²Π½Π° (ΡΠ°Π±ΠΎΡΠΈ):
β nginx.service - The nginx HTTP and reverse proxy server
Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; ...)
Active: active (running) since ...ΠΠΊΠΎ ΡΡΠ»ΡΠ³Π°ΡΠ° Π½Π΅ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ°, ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅ Π½Π° /var/log/nginx/error.log Π·Π° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΡΠ½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ.
Π‘ΡΡΠΏΠΊΠ° 4: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π°
CentOS 7 ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° firewalld ΠΊΠ°ΡΠΎ ΡΠ²ΠΎΡ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π° ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΡΡΠ°ΡΠΈΠΊΡΡ HTTP (ΠΏΠΎΡΡ 80) ΠΈ HTTPS (ΠΏΠΎΡΡ 443) Π΅ Π±Π»ΠΎΠΊΠΈΡΠ°Π½. Π’ΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ ΡΠ²Π½ΠΎ ΡΠ΅Π·ΠΈ ΠΏΠΎΡΡΠΎΠ²Π΅, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡΠ΅ Π½Π° ΡΠ΅Π± ΡΡΠ°ΡΠΈΠΊΠ° Π΄Π° Π΄ΠΎΡΡΠΈΠ³Π½Π΅ Π²Π°ΡΠΈΡ Nginx ΡΡΡΠ²ΡΡ.
Π Π°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° HTTP ΡΡΠ°ΡΠΈΠΊ:
sudo firewall-cmd --permanent --add-service=httpΠ Π°Π·ΡΠ΅ΡΠ°Π²Π°Π½Π΅ Π½Π° HTTPS ΡΡΠ°ΡΠΈΠΊ:
sudo firewall-cmd --permanent --add-service=httpsΠΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π°, Π·Π° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅:
sudo firewall-cmd --reloadΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°:
sudo firewall-cmd --list-allΠ’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΊΠ°ΠΊΡΠΎ http ΡΠ°ΠΊΠ° ΠΈ https ΠΈΠ·Π±ΡΠΎΠ΅Π½ΠΈ ΠΏΠΎΠ΄ ΡΠ΅ΠΊΡΠΈΡΡΠ° services Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠ°. ΠΠΊΠΎ Π²Π°ΡΠΈΡΡ ΡΡΡΠ²ΡΡ Π΅ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ Π·Π°Π΄ Π²ΡΠ½ΡΠ½Π° Π·Π°ΡΠΈΡΠ½Π° ΡΡΠ΅Π½Π° ΠΈΠ»ΠΈ Π³ΡΡΠΏΠ° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ (ΡΠ΅ΡΡΠΎ ΠΏΡΠΈ ΠΎΠ±Π»Π°ΡΠ½ΠΈ Π΄ΠΎΡΡΠ°Π²ΡΠΈΡΠΈ), ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΡΠ΅Π·ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π° ΡΡΡΠΎ ΡΠ° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ, Π·Π° Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΡΠ°ΡΠΈΠΊ Π½Π° ΠΏΠΎΡΡΠΎΠ²Π΅ 80 ΠΈ 443.
Π‘ΡΡΠΏΠΊΠ° 5: ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ°
ΠΠ° Π΄Π° ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΡΠ΅, ΡΠ΅ Nginx Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΈ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π° ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅, ΠΎΡΠ²ΠΎΡΠ΅ΡΠ΅ ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡ ΠΈ Π½Π°Π²ΠΈΠ³ΠΈΡΠ°ΠΉΡΠ΅ ΠΊΡΠΌ ΠΏΡΠ±Π»ΠΈΡΠ½ΠΈΡ IP Π°Π΄ΡΠ΅Ρ Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ:
http://your_server_ipΠ’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅ Π½Π° Nginx ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΠΊΠΎΡΡΠΎ ΠΏΠΎΠΊΠ°Π·Π²Π° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ΡΠΎ *"Welcome to nginx!"*. Π’ΠΎΠ²Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π°, ΡΠ΅ ΡΠ΅Π± ΡΡΡΠ²ΡΡΡΡ Π΅ ΡΠ°Π±ΠΎΡΠ΅Ρ ΠΈ Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΠΎΡ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ.
ΠΠΊΠΎ Π½Π΅ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° Π·Π° ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²ΠΈΠ΅, ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΠΎΡΠ½ΠΎΠ²ΠΎ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ:
- Π£ΡΠ»ΡΠ³Π°ΡΠ° Nginx Π΅ ΡΠ°Π±ΠΎΡΠ΅ΡΠ° (
sudo systemctl status nginx) - ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° Π·Π°ΡΠΈΡΠ½Π°ΡΠ° ΡΡΠ΅Π½Π° ΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈ
- IP Π°Π΄ΡΠ΅ΡΡΡ Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½
- ΠΠΈΠΊΠΎΡ Π΄ΡΡΠ³Π° ΡΡΠ»ΡΠ³Π° (ΠΊΠ°ΡΠΎ Apache) Π½Π΅ Π·Π°Π΅ΠΌΠ° ΠΏΠΎΡΡ 80
Π‘ΡΡΠΏΠΊΠ° 6: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Nginx Server Blocks
Nginx ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° server blocks (ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»Π½ΠΎ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΈ Π½Π° Apache virtual hosts) Π·Π° ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π΅ Π½Π° Π½Π°ΡΠΈΠ½Π°, ΠΏΠΎ ΠΊΠΎΠΉΡΠΎ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΠΈΠ»ΠΈ ΠΏΠΎΠ΄Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ. ΠΡΠ΅ΠΊΠΈ server block ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ ΡΠ΅ ΡΡΡ
ΡΠ°Π½ΡΠ²Π° ΠΊΠ°ΡΠΎ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° /etc/nginx/conf.d/.
ΠΡΠ½ΠΎΠ²Π½ΠΈΡΡ Nginx ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» ΡΠ΅ Π½Π°ΠΌΠΈΡΠ° Π² /etc/nginx/nginx.conf. Π’ΠΎΠΉ Π²ΠΊΠ»ΡΡΠ²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°, ΠΊΠΎΡΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π·Π°ΡΠ΅ΠΆΠ΄Π° Π²ΡΠΈΡΠΊΠΈ .conf ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° conf.d, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ° Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΌΠΎΠ΄ΡΠ»Π½Π° ΠΈ Π»Π΅ΡΠ½Π° Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅.
Π‘ΡΡΠΏΠΊΠ° 6a: Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π½ΠΎΠ² Server Block ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ»
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° Π²Π°ΡΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½. ΠΠ°ΠΌΠ΅Π½Π΅ΡΠ΅ example.com Ρ Π²Π°ΡΠ΅ΡΠΎ Π΄Π΅ΠΉΡΡΠ²ΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½:
sudo nano /etc/nginx/conf.d/example.com.confΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° server block ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm index.php;
# Logging
access_log /var/log/nginx/example.com.access.log;
error_log /var/log/nginx/example.com.error.log;
location / {
try_files $uri $uri/ =404;
}
# Deny access to hidden files
location ~ /. {
deny all;
}
}ΠΠ±ΡΡΠ½Π΅Π½ΠΈ ΠΊΠ»ΡΡΠΎΠ²ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ:
| ΠΠΈΡΠ΅ΠΊΡΠΈΠ²Π° | ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ |
|---|---|
listen 80 | ΠΠ½ΡΡΡΡΠΊΡΠΈΡΠ° Nginx Π΄Π° ΡΠ»ΡΡΠ° Π²Ρ ΠΎΠ΄ΡΡΠΈ Π²ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΠΎΡΡ 80 (HTTP) |
server_name | ΠΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈΡΠ΅, Π½Π° ΠΊΠΎΠΈΡΠΎ ΡΠΎΠ·ΠΈ server block ΠΎΡΠ³ΠΎΠ²Π°ΡΡ |
root | Π£ΠΊΠ°Π·Π²Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ½ΠΈΡ ΠΊΠΎΡΠ΅Π½, ΠΊΡΠ΄Π΅ΡΠΎ ΡΠ΅ ΡΡΡ ΡΠ°Π½ΡΠ²Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠ° |
index | ΠΠΏΡΠ΅Π΄Π΅Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅, ΠΊΠΎΠΈΡΠΎ Nginx ΡΠ΅ ΠΎΠ±ΡΠ»ΡΠΆΠ²Π°, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ΅ ΠΏΠΎΠΈΡΠΊΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ |
try_files | ΠΠΏΠΈΡΠ²Π° ΡΠ΅ Π΄Π° ΠΎΠ±ΡΠ»ΡΠΆΠΈ ΠΏΠΎΠΈΡΠΊΠ°Π½Π°ΡΠ° URI ΠΊΠ°ΡΠΎ ΡΠ°ΠΉΠ», ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° ΠΊΠ°ΡΠΎ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ, ΠΈ Π²ΡΡΡΠ° 404, Π°ΠΊΠΎ Π½ΠΈΡΠΎ Π΅Π΄ΠΈΠ½ Π½Π΅ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π° |
access_log / error_log | ΠΠΏΡΠ΅Π΄Π΅Π»Ρ ΠΎΡΠ΄Π΅Π»Π½ΠΈ Π»ΠΎΠ³ΠΎΠ²ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° ΡΠΎΠ·ΠΈ Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Ρ ΠΎΡΡ Π·Π° ΠΏΠΎ-Π»Π΅ΡΠ½ΠΎ ΠΎΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° Π³ΡΠ΅ΡΠΊΠΈ |
ΠΠ°ΠΏΠ°Π·Π΅ΡΠ΅ ΡΠ°ΠΉΠ»Π° ΠΈ ΠΈΠ·Π»Π΅Π·ΡΠ΅ ΠΎΡ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° (Ctrl+X, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Y, ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Enter Π² nano).
Π‘ΡΡΠΏΠΊΠ° 7: Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠΎΡΠ΅Π½Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ° ΠΈ ΡΠ΅ΡΡΠΎΠ²ΠΈΡ ΡΠ°ΠΉΠ»
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° Π½Π° ΠΊΠΎΡΠ΅Π½Π½Π°ΡΠ° ΠΏΠ°ΠΏΠΊΠ° Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°, ΠΊΠΎΡΡΠΎ ΡΡΠ΅ Π΄Π΅ΡΠΈΠ½ΠΈΡΠ°Π»ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π±Π»ΠΎΠΊΠ° ΡΡΡΠ²ΡΡ:
sudo mkdir -p /var/www/example.com/htmlΠ‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΡ index.html ΡΠ°ΠΉΠ», Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄Π°Π»ΠΈ Π±Π»ΠΎΠΊΡΡ ΡΡΡΠ²ΡΡ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ:
echo "<h1>Welcome to Example.com β Powered by Nginx on CentOS 7!</h1>" | sudo tee /var/www/example.com/html/index.htmlΠΠ°Π΄Π°ΠΉΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈΠΊ ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΡΠ°ΠΊΠ° ΡΠ΅ Nginx Π΄Π° ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅:
sudo chown -R nginx:nginx /var/www/example.com/
sudo chmod -R 755 /var/www/example.com/> ΠΠ°Π±Π΅Π»Π΅ΠΆΠΊΠ° Π·Π° SELinux: CentOS 7 ΡΠ΅ Π΄ΠΎΡΡΠ°Π²Ρ Ρ SELinux Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅. ΠΠΊΠΎ Nginx Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅ Π²Π°ΡΠΈΡΠ΅ ΡΠ΅Π± ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π΄ΠΎΡΠΈ Ρ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΡ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ Π½Π° SELinux:
> β`bash
> sudo chcon -Rt httpd_sys_content_t /var/www/example.com/
> β`
Π‘ΡΡΠΏΠΊΠ° 8: Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Nginx
ΠΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Nginx, Π·Π° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ Π½ΠΎΠ²Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ΅ΡΡΠ²Π°ΠΉΡΠ΅ Π·Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ. ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½ ΡΠ°ΠΉΠ» ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΏΡΠ΅ ΡΠ΅Π»ΠΈΡ Π²ΠΈ ΡΠ΅Π± ΡΡΡΠ²ΡΡ.
ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ΅ΡΡΠ° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°:
sudo nginx -tΠ£ΡΠΏΠ΅ΡΠ½ΠΈΡΡ ΡΠ΅ΡΡ ΠΏΡΠΎΠΈΠ·Π²Π΅ΠΆΠ΄Π° ΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅Π·ΡΠ»ΡΠ°Ρ:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successfulΠΠΊΠΎ ΡΠ΅ Π΄ΠΎΠΊΠ»Π°Π΄Π²Π°Ρ Π³ΡΠ΅ΡΠΊΠΈ, Π²Π½ΠΈΠΌΠ°ΡΠ΅Π»Π½ΠΎ ΠΏΡΠ΅Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΈΡΠ΅ Π½ΠΎΠΌΠ΅ΡΠ° Π½Π° ΡΠ΅Π΄ΠΎΠ²Π΅ΡΠ΅ Π²ΡΠ² Π²Π°ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΠΉΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΠΏΡΠΎΠ΄ΡΠ»ΠΆΠΈΡΠ΅.
Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ Nginx, Π·Π° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅:
sudo systemctl restart nginxΠΠ°ΡΠΎ Π°Π»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π°, Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΡΠ΅ΠΈΠ·ΡΠΈΡΠ»ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π±Π΅Π· ΠΏΡΠ΅ΠΊΡΡΠ²Π°Π½Π΅ Π½Π° Π°ΠΊΡΠΈΠ²Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ (ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π½ΠΎ Π·Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΡΡΠ²Π΅Π½ΠΈ ΡΡΠ΅Π΄ΠΈ), ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅:
sudo systemctl reload nginxΠ‘Π΅Π³Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° Π²Π°ΡΠΈΡ Π΄ΠΎΠΌΠ΅ΠΉΠ½ Π² Π±ΡΠ°ΡΠ·ΡΡ. Π’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½Π° index.html ΡΡΡΠ°Π½ΠΈΡΠ°.
Π‘ΡΡΠΏΠΊΠ° 9: ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° HTTPS Ρ Letβs Encrypt
Π Π°Π±ΠΎΡΠ°ΡΠ° Π½Π° ΡΠ΅Π±ΡΠ°ΠΉΡ Π½Π°Π΄ ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ HTTP ΠΈΠ·Π»ΠΎΠΆΡΠ²Π° Π²Π°ΡΠΈΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈ Π½Π° ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»Π½ΠΎ ΠΏΠΎΠ΄ΡΠ»ΡΡΠ²Π°Π½Π΅ ΠΈ Π°ΡΠ°ΠΊΠΈ ΠΎΡ ΡΡΠ΅Π΄Π°ΡΠ°. ΠΠ°ΡΠΈΡΠ°ΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΡΠ°ΠΉΡ Ρ HTTPS Π²Π΅ΡΠ΅ Π½Π΅ Π΅ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»Π½Π° β ΡΠΎΠ²Π° Π΅ ΡΡΠ½Π΄Π°ΠΌΠ΅Π½ΡΠ°Π»Π½ΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½Π΅ Π·Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠ΅ΡΠ° Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅ ΠΈ ΠΊΠ»Π°ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π² ΡΡΡΡΠ°ΡΠΊΠΈΡΠ΅.
Letβs Encrypt ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ Π±Π΅Π·ΠΏΠ»Π°ΡΠ½ΠΈ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Π½ΠΈ ΠΈ Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΈ SSL/TLS ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ. ΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ Π΄Π° ΠΈΠ·ΡΠ»Π΅Π΄Π²Π°ΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΡΠΌ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΠΎΡ AlexHost Π·Π° ΡΠ°Π·ΡΠΈΡΠ΅Π½Π° Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ ΠΈ ΠΎΠΏΡΠΈΠΈ Ρ Π²Π°Π»ΠΈΠ΄Π°ΡΠΈΡ Π½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡΡΠ°, ΠΊΠΎΠΈΡΠΎ ΠΏΡΠ΅Π΄Π»Π°Π³Π°Ρ ΠΏΠΎ-Π²ΠΈΡΠΎΠΊΠΈ Π½ΠΈΠ²Π° Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ Π·Π° Π±ΠΈΠ·Π½Π΅Ρ ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅.
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Certbot ΠΈ Nginx ΠΏΠ»ΡΠ³ΠΈΠ½Π°
sudo yum install certbot python2-certbot-nginx -yΠΠΎΠ»ΡΡΠ°Π²Π°Π½Π΅ ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°
Π‘ΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ Certbot Ρ ΠΏΠ»ΡΠ³ΠΈΠ½Π° --nginx, ΠΊΠΎΠΉΡΠΎ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΌΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ° Π²Π°ΡΠ°ΡΠ° Nginx ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π·Π° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ° HTTPS:
sudo certbot --nginx -d example.com -d www.example.comΠ‘Π»Π΅Π΄Π²Π°ΠΉΡΠ΅ ΠΈΠ½ΡΠ΅ΡΠ°ΠΊΡΠΈΠ²Π½ΠΈΡΠ΅ ΠΏΠΎΠ΄ΡΠΊΠ°Π·ΠΊΠΈ:
- ΠΡΠ²Π΅Π΄Π΅ΡΠ΅ Π²Π°ΡΠΈΡ ΠΈΠΌΠ΅ΠΉΠ» Π°Π΄ΡΠ΅Ρ Π·Π° ΠΈΠ·Π²Π΅ΡΡΠΈΡ Π·Π° ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅
- Π‘ΡΠ³Π»Π°ΡΠ΅ΡΠ΅ ΡΠ΅ Ρ Π£ΡΠ»ΠΎΠ²ΠΈΡΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° Π½Π° Letβs Encrypt
- ΠΠ·Π±Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ Π΄Π° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠΈΡΠ΅ ΡΡΠ°ΡΠΈΠΊΠ° ΠΎΡ HTTP ΠΊΡΠΌ HTTPS (ΡΠΈΠ»Π½ΠΎ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π½ΠΎ β ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΡ 2)
Certbot Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅:
- ΠΠΎΠ»ΡΡΠΈ ΠΏΠΎΠ΄ΠΏΠΈΡΠ°Π½ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΠΎΡ Letβs Encrypt
- ΠΠΎΠ΄ΠΈΡΠΈΡΠΈΡΠ° Π²Π°ΡΠΈΡ
/etc/nginx/conf.d/example.com.confΠ΄Π° Π²ΠΊΠ»ΡΡΠΈ SSL Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²ΠΈ - ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ° ΠΏΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ ΠΎΡ HTTP ΠΊΡΠΌ HTTPS
Π‘Π»Π΅Π΄ Π·Π°Π²ΡΡΡΠ²Π°Π½Π΅, ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ HTTPS ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅:
https://example.comΠΠ°ΡΠΈΡΡ Π±ΡΠ°ΡΠ·ΡΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΈΠΊΠΎΠ½Π° Π½Π° ΠΊΠ°ΡΠΈΠ½Π°Ρ, ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π°ΠΉΠΊΠΈ ΡΠ΅ Π²ΡΡΠ·ΠΊΠ°ΡΠ° Π΅ ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½Π°.
Π‘ΡΡΠΏΠΊΠ° 10: ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ°
Π‘Π΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ Π½Π° Let's Encrypt ΡΠ° Π²Π°Π»ΠΈΠ΄Π½ΠΈ Π·Π° 90 Π΄Π½ΠΈ. ΠΠ΅ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ΡΠΎ ΠΈΠΌ ΠΏΡΠ΅Π΄ΠΈ ΠΈΠ·ΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΠΎΠΊΠ° ΡΠ΅ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π½Π° Π²Π°ΡΠΈΡ ΡΠ°ΠΉΡ Π΄Π° ΠΏΠΎΠΊΠ°Π·Π²Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅Π»ΠΈΡΠ΅, ΠΊΠΎΠ΅ΡΠΎ ΡΠ΅ΡΠΈΠΎΠ·Π½ΠΎ ΡΠ΅ ΠΏΠΎΠ²Π»ΠΈΡΠ΅ Π½Π° Π΄ΠΎΠ²Π΅ΡΠΈΠ΅ΡΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ ΠΈ ΡΡΠ°ΡΠΈΠΊΠ°.
Π’Π΅ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠ° Π½Π° ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅
ΠΡΠ΅Π΄ΠΈ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΠ·Π°ΡΠΈΡΡΠ°, ΠΏΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ ΠΏΡΠΎΡΠ΅ΡΡΡ Π½Π° ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ:
sudo certbot renew --dry-runΠ£ΡΠΏΠ΅ΡΠ½ΠΎΡΠΎ ΡΡΡ ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π°Π²Π°, ΡΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΡΠ΅ ΡΠ°Π±ΠΎΡΠΈ Π±Π΅Π· ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ.
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ Cron Job Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅
ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ root crontab:
sudo crontab -eΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡ ΡΠ΅Π΄, Π·Π° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΠΈ ΠΏΠΎΠ΄Π½ΠΎΠ²ΠΈΡΠ΅ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈΡΠ΅ Π΄Π²Π° ΠΏΡΡΠΈ Π΄Π½Π΅Π²Π½ΠΎ (ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ°Π½Π°ΡΠ° ΡΠ΅ΡΡΠΎΡΠ°):
0 0,12 * * * /usr/bin/certbot renew --quiet --post-hook "systemctl reload nginx"ΠΠ±ΡΡΠ½Π΅Π½ΠΈΠ΅ Π½Π° cron Π³ΡΠ°ΡΠΈΠΊΠ°:
0 0,12 * * * β Π Π°Π±ΠΎΡΠΈ Π² ΠΏΠΎΠ»ΡΠ½ΠΎΡ ΠΈ ΠΎΠ±ΡΠ΄ Π²ΡΠ΅ΠΊΠΈ Π΄Π΅Π½
--quiet β ΠΠΎΡΠΈΡΠΊΠ° ΠΈΠ·Ρ
ΠΎΠ΄Π°, ΠΎΡΠ²Π΅Π½ Π°ΠΊΠΎ Π½Π΅ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π³ΡΠ΅ΡΠΊΠ°
--post-hook "systemctl reload nginx" β ΠΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π° Nginx ΡΠ»Π΅Π΄ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Π½Π΅, Π·Π° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈ Π½ΠΎΠ²ΠΈΡ ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ Π±Π΅Π· ΠΏΡΠ΅ΡΡΠΎΠΉ
ΠΠ°ΠΏΠ°Π·Π΅ΡΠ΅ ΠΈ Π·Π°ΡΠ²ΠΎΡΠ΅ΡΠ΅ ΡΠ΅Π΄Π°ΠΊΡΠΎΡΠ° Π½Π° crontab. ΠΠ°ΡΠΈΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ ΡΠ΅Π³Π° ΡΠ΅ ΡΠ΅ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π°Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ, ΠΊΠ°ΡΠΎ ΠΏΠΎΠ΄Π΄ΡΡΠΆΠ°Ρ Π²Π°ΡΠΈΡ ΡΠ°ΠΉΡ Π·Π°ΡΠΈΡΠ΅Π½ Π±Π΅Π· Π½ΠΈΠΊΠ°ΠΊΠ²ΠΎ ΡΡΡΠ½ΠΎ Π²ΠΌΠ΅ΡΠ°ΡΠ΅Π»ΡΡΠ²ΠΎ.
Π‘ΡΠ²Π΅ΡΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Nginx Π½Π° CentOS 7
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΎΡΠ½ΠΎΠ²Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΅ Π·Π°Π²ΡΡΡΠ΅Π½Π°, ΠΏΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° ΡΠ΅Π·ΠΈ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, Π·Π° Π΄Π° ΠΌΠ°ΠΊΡΠΈΠΌΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Nginx:
ΠΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ Gzip ΠΊΠΎΠΌΠΏΡΠ΅ΡΠΈΡ
ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΠΊΡΠΌ Π²Π°ΡΠΈΡ nginx.conf Π² Π±Π»ΠΎΠΊΠ° http {}, Π·Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° Π½Π° ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈΡΠ΅, ΠΈΠ·ΠΏΡΠ°ΡΠ°Π½ΠΈ ΠΊΡΠΌ ΠΊΠ»ΠΈΠ΅Π½ΡΠΈΡΠ΅:
gzip on;
gzip_vary on;
gzip_min_length 1024;
gzip_proxied expired no-cache no-store private auth;
gzip_types text/plain text/css text/xml text/javascript application/javascript application/xml+rss application/json;
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ Π½Π° Π±ΡΠ°ΡΠ·ΡΡΠ°
ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ cache-control Π·Π°Π³Π»Π°Π²ΠΊΠΈ Π·Π° ΡΡΠ°ΡΠΈΡΠ½ΠΈ Π°ΠΊΡΠΈΠ²ΠΈ, Π·Π° Π΄Π° Π½Π°ΠΌΠ°Π»ΠΈΡΠ΅ Π½Π°ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ²ΡΡΠ° ΠΈ Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΡΠ΅ Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ°:
location ~* .(jpg|jpeg|png|gif|ico|css|js|woff|woff2)$ {
expires 30d;
add_header Cache-Control "public, no-transform";
}
ΠΠ°ΡΡΡΠΎΠΉΡΠ΅ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ
Π /etc/nginx/nginx.conf, Π·Π°Π΄Π°ΠΉΡΠ΅ Π±ΡΠΎΡ Π½Π° ΡΠ°Π±ΠΎΡΠ½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ, Π·Π° Π΄Π° ΡΡΠΎΡΠ²Π΅ΡΡΡΠ²Π° Π½Π° Π±ΡΠΎΡ Π½Π° CPU ΡΠ΄ΡΠ°ΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ:
worker_processes auto;
worker_connections 1024;
> ΠΠ° ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΡΠ΅ΡΡΡΡΠΈ, ΠΈΠ»ΠΈ ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ Ρ Π²ΠΈΡΠΎΠΊ ΡΡΠ°ΡΠΈΠΊ, ΠΏΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° Π½Π°Π΄Π³ΡΠ°ΠΆΠ΄Π°Π½Π΅ Π½Π° Dedicated Servers ΠΎΡ AlexHost, ΠΊΠΎΠΈΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Ρ Π³Π°ΡΠ°Π½ΡΠΈΡΠ°Π½ΠΈ CPU, RAM ΠΈ ΡΠ΅ΡΡΡΡΠΈ Π·Π° ΡΡΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π±Π΅Π· Π΅ΡΠ΅ΠΊΡΠΈ Π½Π° ΡΡΠΌΠ½ΠΈ ΡΡΡΠ΅Π΄ΠΈ.
Π£ΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ Ρ Nginx
ΠΠ΄Π½Π° ΠΎΡ Π½Π°ΠΉ-Π³ΠΎΠ»Π΅ΠΌΠΈΡΠ΅ ΡΠΈΠ»Π½ΠΈ ΡΡΡΠ°Π½ΠΈ Π½Π° Nginx Π΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎΡΡΡΠ° ΠΌΡ Π΄Π° Ρ
ΠΎΡΡΠΈΡΠ° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ ΡΡΠ΅Π· server blocks. ΠΠ° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π΄ΠΎΠΌΠ΅ΠΉΠ½, ΠΏΡΠΎΡΡΠΎ:
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ² .conf ΡΠ°ΠΉΠ» Π² /etc/nginx/conf.d/server_name Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°root Π΄ΠΈΡΠ΅ΠΊΡΠΈΠ²Π°ΡΠ° ΠΊΡΠΌ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΈΡ document rootsudo nginx -t ΠΈ sudo systemctl reload nginxΠΠΊΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°ΡΠ΅ Π³ΡΠ°ΡΠΈΡΠ΅Π½ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π·Π° ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²Π°ΡΠΈΡ ΡΠ΅Π± ΡΡΡΠ²ΡΡ, Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅, Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ ΠΈ ΠΈΠΌΠ΅ΠΉΠ» Π°ΠΊΠ°ΡΠ½ΡΠΈ, ΠΏΠΎΠΌΠΈΡΠ»Π΅ΡΠ΅ Π·Π° VPS Ρ cPanel β Π½Π°ΠΏΡΠ»Π½ΠΎ ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Π½ΠΎ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠΎΠ½ΡΡΠΎΠ»Π΅Π½ ΠΏΠ°Π½Π΅Π», ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΡΠΎΡΡΡΠ²Π° Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΡΡΡΠ²ΡΡΠ° Π±Π΅Π· Π΄Π° ΠΆΠ΅ΡΡΠ²Π°ΡΠ΅ Π³ΡΠ²ΠΊΠ°Π²ΠΎΡΡΡΠ°.
ΠΠ»ΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎ, ΡΠ°Π·Π³Π»Π΅Π΄Π°ΠΉΡΠ΅ ΠΏΡΠ»Π½ΠΈΡ ΡΠΏΠ΅ΠΊΡΡΡ ΠΎΡ VPS ΠΊΠΎΠ½ΡΡΠΎΠ»Π½ΠΈ ΠΏΠ°Π½Π΅Π»ΠΈ ΠΎΡ AlexHost, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ Plesk, DirectAdmin ΠΈ Π΄ΡΡΠ³ΠΈ ΠΎΠΏΡΠΈΠΈ, ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ Π·Π° ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ ΡΠ°Π±ΠΎΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π½ΠΈΡ.
ΠΡΡΡΡΠ°Π½ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΎ ΡΡΠ΅ΡΠ°Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Nginx Π½Π° CentOS 7
| ΠΡΠΎΠ±Π»Π΅ΠΌ | ΠΠ΅ΡΠΎΡΡΠ½Π° ΠΏΡΠΈΡΠΈΠ½Π° | Π Π΅ΡΠ΅Π½ΠΈΠ΅ | |
|---|---|---|---|
| Nginx Π½Π΅ ΡΠ΅ ΡΡΠ°ΡΡΠΈΡΠ° | ΠΠΎΡΡΡΡ 80/443 Π²Π΅ΡΠ΅ Π΅ Π² ΡΠΏΠΎΡΡΠ΅Π±Π° | ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ `sudo ss -tlnp | grep :80` Π·Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ»ΠΈΠΊΡΠ½ΠΈΡ ΠΏΡΠΎΡΠ΅Ρ |
| ΠΡΠ΅ΡΠΊΠ° 403 Forbidden | ΠΠ΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈΠ»ΠΈ SELinux ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ | ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ chmod/chown ΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅ΡΠ΅ chcon Π·Π° SELinux | |
| 502 Bad Gateway | Upstream backend (PHP-FPM, Node.js) Π½Π΅ ΡΠ°Π±ΠΎΡΠΈ | ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ Π΄Π°Π»ΠΈ ΡΡΠ»ΡΠ³Π°ΡΠ° Π½Π° backend Π΅ Π°ΠΊΡΠΈΠ²Π½Π° ΠΈ ΡΠ΅ socket/ΠΏΠΎΡΡΡΡ Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ | |
| SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΡΡ Π½Π΅ ΡΠ΅ ΠΏΠΎΠ΄Π½ΠΎΠ²ΡΠ²Π° | Certbot Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ ΡΠ²ΡΡΠΆΠ΅ Ρ ΠΏΠΎΡΡΡΡ 80 | Π£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΠΏΠΎΡΡΡΡ 80 Π΅ ΠΎΡΠ²ΠΎΡΠ΅Π½ ΠΈ ΡΠ΅ Π½ΠΈΠΊΠΎΠΉ Π΄ΡΡΠ³ ΠΏΡΠΎΡΠ΅Ρ Π½Π΅ Π³ΠΎ Π±Π»ΠΎΠΊΠΈΡΠ° | |
| ΠΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ Π½Π΅ Π²Π»ΠΈΠ·Π°Ρ Π² ΡΠΈΠ»Π° | ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π΅ Π΅ ΠΏΡΠ΅Π·Π°ΡΠ΅Π΄Π΅Π½Π° | ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ sudo systemctl reload nginx ΡΠ»Π΅Π΄ Π²ΡΡΠΊΠ° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° |
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
ΠΠΈΠ΅ ΡΡΠΏΠ΅ΡΠ½ΠΎ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ ΡΠ΅, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Ρ ΡΠ΅ ΠΈ Π·Π°ΡΠΈΡΠΈΡ ΡΠ΅ Nginx Π½Π° CentOS 7. ΠΠ°ΡΠΈΡΡ ΡΡΡΠ²ΡΡ Π΅ Π³ΠΎΡΠΎΠ² Π΄Π° Ρ ΠΎΡΡΠ²Π° ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ Ρ Π²ΠΈΡΠΎΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, Π΄Π° ΠΎΠ±ΡΠ°Π±ΠΎΡΠ²Π° Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎ ΠΈ Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Ρ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅ ΡΡΠ΅Π· ΠΊΡΠΈΠΏΡΠΈΡΠ°Π½ΠΈ HTTPS Π²ΡΡΠ·ΠΊΠΈ β Π²ΡΠΈΡΠΊΠΈ ΡΡΡΠ΅ΡΡΠ²Π΅Π½ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π° Π·Π° ΡΡΠ²ΡΠ΅ΠΌΠ΅Π½Π½Π°, production-grade ΡΠ΅Π± ΡΡΠ΅Π΄Π°.
ΠΡΠΎ ΡΠ΅Π·ΡΠΌΠ΅ Π½Π° ΠΏΠΎΡΡΠΈΠ³Π½Π°ΡΠΎΡΠΎ:
- β ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Ρ ΡΠ΅ CentOS 7 ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° ΠΈ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Ρ ΡΠ΅ Nginx ΡΡΠ΅Π· EPEL Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅
- β Π‘ΡΠ°ΡΡΠΈΡΠ°Ρ ΡΠ΅ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Ρ ΡΠ΅ Nginx ΡΡΠ»ΡΠ³Π°ΡΠ° Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅Π½ ΡΡΠ°ΡΡ ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ²Π°Π½Π΅
- β ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Ρ ΡΠ΅ firewalld Π΄Π° ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° HTTP ΠΈ HTTPS ΡΡΠ°ΡΠΈΠΊ
- β Π‘ΡΠ·Π΄Π°Π΄ΠΎΡ ΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Ρ ΡΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ server block Π·Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½
- β Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΡ ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΈ SELinux ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ Π·Π° document root
- β Π’Π΅ΡΡΠΈΡΠ°Ρ ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π·Π° ΡΠΈΠ½ΡΠ°ΠΊΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ ΠΏΡΠ΅Π΄ΠΈ ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ
- β ΠΠ°ΡΠΈΡΠΈΡ ΡΠ΅ ΡΠ°ΠΉΡΠ° Ρ Π±Π΅Π·ΠΏΠ»Π°ΡΠ΅Π½ Letβs Encrypt SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°Ρ ΡΡΠ΅Π· Certbot
- β ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΠ·ΠΈΡΠ°Ρ ΡΠ΅ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠ° Ρ cron job
ΠΠΎΠ΄Π΄ΡΡΠΆΠ°Π½Π΅ΡΠΎ Π½Π° Π·Π°ΡΠΈΡΠ΅Π½ ΠΈ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅Π± ΡΡΡΠ²ΡΡ ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅. ΠΠΎΠ΄Π΄ΡΡΠΆΠ°ΠΉΡΠ΅ Nginx ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½, Π½Π°Π±Π»ΡΠ΄Π°Π²Π°ΠΉΡΠ΅ Π²Π°ΡΠΈΡΠ΅ access ΠΈ error Π»ΠΎΠ³ΠΎΠ²Π΅ ΠΈ ΠΏΡΠ΅Π³Π»Π΅ΠΆΠ΄Π°ΠΉΡΠ΅ Π²Π°ΡΠ°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ, Π΄ΠΎΠΊΠ°ΡΠΎ ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΡΠ°ΠΉΡ ΡΠ΅ ΡΠ°Π·Π²ΠΈΠ²Π°Ρ.
ΠΠΊΠΎ ΡΡΡΡΠΈΡΠ΅ Π½Π°Π΄Π΅ΠΆΠ½Π° ΠΎΡΠ½ΠΎΠ²Π° Π·Π° Ρ ΠΎΡΡΠ²Π°Π½Π΅ Π½Π° Π²Π°ΡΠΈΡΠ΅ Nginx ΠΏΡΠΎΠ΅ΠΊΡΠΈ, AlexHost ΠΏΡΠ΅Π΄Π»Π°Π³Π° ΠΏΡΠ»Π΅Π½ ΡΠΏΠ΅ΠΊΡΡΡ ΡΠ΅ΡΠ΅Π½ΠΈΡ β ΠΎΡ Π½Π°ΡΠ°Π»Π½ΠΎ Π½ΠΈΠ²ΠΎ Shared Web Hosting Π·Π° ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΈ ΡΠ°ΠΉΡΠΎΠ²Π΅ Π΄ΠΎ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅Π½ VPS ΠΈ dedicated ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ° Π·Π° ΠΏΡΠ΅ΡΠ΅ΠΆΠΊΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΡΠ΅ΠΊΠΈ ΠΏΠ»Π°Π½ Π΅ ΠΏΠΎΠ΄ΠΊΡΠ΅ΠΏΠ΅Π½ ΠΎΡ enterprise-grade Ρ Π°ΡΠ΄ΡΠ΅Ρ, 24/7 ΡΠ΅Ρ Π½ΠΈΡΠ΅ΡΠΊΠ° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° ΠΈ Π°Π½Π³Π°ΠΆΠΈΠΌΠ΅Π½Ρ ΠΊΡΠΌ uptime ΠΈ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
ΠΎΡ Π²ΡΠΈΡΠΊΠΈ Ρ
ΠΎΡΡΠΈΠ½Π³ ΡΡΠ»ΡΠ³ΠΈ