ΠΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ ΡΠ° Π½Π°Π»Π°ΡΡΡΠ²Π°Π½Π½Ρ Nginx Π½Π° CentOS 7
Nginx – ΡΠ΅ Π²ΠΈΡΠΎΠΊΠΎΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΈΠΉ Π²Π΅Π±-ΡΠ΅ΡΠ²Π΅Ρ Ρ Π·Π²ΠΎΡΠΎΡΠ½ΠΈΠΉ ΠΏΡΠΎΠΊΡΡ-ΡΠ΅ΡΠ²Π΅Ρ, ΡΠΊΠΈΠΉ ΡΠΈΡΠΎΠΊΠΎ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΡΡΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΠ»ΡΠ³ΠΎΠ²ΡΠ²Π°Π½Π½Ρ ΡΡΠ°ΡΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΡ, ΠΎΠ±ΡΠΎΠ±ΠΊΠΈ ΠΎΠ΄Π½ΠΎΡΠ°ΡΠ½ΠΈΡ Π·’ΡΠ΄Π½Π°Π½Ρ Ρ Π±Π°Π»Π°Π½ΡΡΠ²Π°Π½Π½Ρ Π½Π°Π²Π°Π½ΡΠ°ΠΆΠ΅Π½Π½Ρ. Π¦Π΅ΠΉ ΠΏΠΎΡΡΠ±Π½ΠΈΠΊ Π΄ΠΎΠΏΠΎΠΌΠΎΠΆΠ΅ Π²Π°ΠΌ Π²ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠΈ ΡΠ° Π½Π°Π»Π°ΡΡΡΠ²Π°ΡΠΈ Nginx Π½Π° ΡΠ΅ΡΠ²Π΅ΡΡ CentOS 7
1. ΠΠ½ΠΎΠ²Π»Π΅Π½Π½Ρ ΡΠΈΡΡΠ΅ΠΌΠΈ
ΠΠ΅ΡΠ΅Π΄ Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠΌ Nginx ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½Π°ΠΉΡΠ΅ΡΡ, ΡΠΎ Π²Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΎΠ½ΠΎΠ²Π»Π΅Π½Π°. ΠΡΠ΄ΠΊΡΠΈΠΉΡΠ΅ ΡΠ΅ΡΠΌΡΠ½Π°Π» Ρ Π²ΠΈΠΊΠΎΠ½Π°ΠΉΡΠ΅ Π½Π°ΡΡΡΠΏΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ
sudo yum update2. ΠΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ Nginx
ΠΠ»Ρ Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ Nginx ΠΌΠΎΠΆΠ½Π° ΡΠΊΠΎΡΠΈΡΡΠ°ΡΠΈΡΡ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΈΠΌ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅ΡΠΎΠΌ ΠΏΠ°ΠΊΠ΅ΡΡΠ² yum
sudo yum install epel-releasesudo yum install nginxΠ¦Ρ ΠΊΠΎΠΌΠ°Π½Π΄Π° Π²ΡΡΠ°Π½ΠΎΠ²Π»ΡΡ Nginx Ρ Π²ΡΡ Π½Π΅ΠΎΠ±Ρ ΡΠ΄Π½Ρ Π·Π°Π»Π΅ΠΆΠ½ΠΎΡΡΡ
3. ΠΠ°ΠΏΡΡΠΊ Ρ Π²ΠΊΠ»ΡΡΠ΅Π½Π½Ρ Nginx
ΠΡΡΠ»Ρ Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ Π·Π°ΠΏΡΡΡΡΡΡ ΡΠ»ΡΠΆΠ±Ρ Nginx Ρ ΡΠ²ΡΠΌΠΊΠ½ΡΡΡ ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΈΠΉ Π·Π°ΠΏΡΡΠΊ ΠΏΡΠΈ Π·Π°Π²Π°Π½ΡΠ°ΠΆΠ΅Π½Π½Ρ
sudo systemctl start nginxsudo systemctl enable nginx4. ΠΠ°Π»Π°ΡΡΡΠ²Π°Π½Π½Ρ Π±ΡΠ°Π½Π΄ΠΌΠ°ΡΠ΅ΡΠ°
Π©ΠΎΠ± Π΄ΠΎΠ·Π²ΠΎΠ»ΠΈΡΠΈ Π²Π΅Π±-ΡΡΠ°ΡΡΠΊ Π½Π° Π²Π°Ρ ΡΠ΅ΡΠ²Π΅Ρ, Π²Π°ΠΌ ΠΏΠΎΡΡΡΠ±Π½ΠΎ Π½Π°Π»Π°ΡΡΡΠ²Π°ΡΠΈ Π±ΡΠ°Π½Π΄ΠΌΠ°ΡΠ΅Ρ Π½Π° Π΄ΠΎΠ·Π²ΡΠ» HTTP Ρ HTTPS-ΡΡΠ°ΡΡΠΊΡ. ΠΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠΉΡΠ΅ Π½Π°ΡΡΡΠΏΠ½Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ Π΄Π»Ρ Π²ΡΠ΄ΠΊΡΠΈΡΡΡ Π½Π΅ΠΎΠ±Ρ ΡΠ΄Π½ΠΈΡ ΠΏΠΎΡΡΡΠ²
sudo firewall-cmd --permanent --add-service=httpsudo firewall-cmd --permanent --add-service=httpssudo firewall-cmd --reload5. ΠΠ΅ΡΠ΅Π²ΡΡΠΊΠ° ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ
Π©ΠΎΠ± ΠΏΠ΅ΡΠ΅ΠΊΠΎΠ½Π°ΡΠΈΡΡ, ΡΠΎ Nginx Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ Ρ Π·Π°ΠΏΡΡΠ΅Π½ΠΎ, Π²ΡΠ΄ΠΊΡΠΈΠΉΡΠ΅ Π²Π΅Π±-Π±ΡΠ°ΡΠ·Π΅Ρ Ρ ΠΏΠ΅ΡΠ΅ΠΉΠ΄ΡΡΡ Π·Π° IP-Π°Π΄ΡΠ΅ΡΠΎΡ Π²Π°ΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ°
http://your_server_ipΠΠΈ ΠΏΠΎΠ²ΠΈΠ½Π½Ρ ΠΏΠΎΠ±Π°ΡΠΈΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠ½Ρ Π²ΡΡΠ°Π»ΡΠ½Ρ ΡΡΠΎΡΡΠ½ΠΊΡ Nginx, ΡΠΊΠ° ΡΠ²ΡΠ΄ΡΠΈΡΡ ΠΏΡΠΎ ΡΠ΅, ΡΠΎ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΠΏΡΠΎΠΉΡΠ»Π° ΡΡΠΏΡΡΠ½ΠΎ
6. ΠΠ°Π»Π°ΡΡΡΠ²Π°Π½Π½Ρ Nginx
ΠΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΠΉΠ½Ρ ΡΠ°ΠΉΠ»ΠΈ Nginx Π·Π½Π°Ρ ΠΎΠ΄ΡΡΡΡΡ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ·Ρ /etc/nginx/. ΠΡΠ½ΠΎΠ²Π½ΠΈΠΌ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΠΉΠ½ΠΈΠΌ ΡΠ°ΠΉΠ»ΠΎΠΌ Ρ nginx.conf, Π° Π±Π»ΠΎΠΊΠΈ ΡΠ΅ΡΠ²Π΅ΡΡΠ² (ΠΏΠΎΠ΄ΡΠ±Π½Ρ Π΄ΠΎ Π²ΡΡΡΡΠ°Π»ΡΠ½ΠΈΡ Ρ ΠΎΡΡΡΠ² Π² Apache) Π²ΠΈΠ·Π½Π°ΡΠ΅Π½Ρ Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ·Ρ conf.d
ΠΡΠΎΠΊ 1: Π‘ΡΠ²ΠΎΡΠ΅Π½Π½Ρ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΡ
Π©ΠΎΠ± ΡΡΠ²ΠΎΡΠΈΡΠΈ Π½ΠΎΠ²ΠΈΠΉ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΈΠΉ Π±Π»ΠΎΠΊ Π΄Π»Ρ Π²Π°ΡΠΎΠ³ΠΎ ΡΠ°ΠΉΡΡ, ΡΡΠ²ΠΎΡΡΡΡ Π½ΠΎΠ²ΠΈΠΉ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΠΉΠ½ΠΈΠΉ ΡΠ°ΠΉΠ» Π² ΠΊΠ°ΡΠ°Π»ΠΎΠ·Ρ /etc/nginx/conf.d/. ΠΠ°ΠΏΡΠΈΠΊΠ»Π°Π΄, ΡΡΠ²ΠΎΡΡΡΡ ΡΠ°ΠΉΠ» Π· Π½Π°Π·Π²ΠΎΡ example.com.conf
sudo nano /etc/nginx/conf.d/example.com.confΠΠΎΠ΄Π°ΠΉΡΠ΅ ΡΠ°ΠΊΡ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example.com/html;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
} }ΠΡΠΎΠΊ 2: Π‘ΡΠ²ΠΎΡΡΡΡ ΠΊΠΎΡΡΠ½Ρ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
ΠΠ°Π»Ρ ΡΡΠ²ΠΎΡΡΡΡ ΠΊΠΎΡΠ΅Π½Π΅Π²ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΡΠ² Π΄Π»Ρ Π²Π°ΡΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ°ΠΉΡΡ
sudo mkdir -p /var/www/example.com/htmlΠΠΈ ΡΠ°ΠΊΠΎΠΆ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΡΠ²ΠΎΡΠΈΡΠΈ ΠΏΡΠΈΠΊΠ»Π°Π΄ ΡΠ°ΠΉΠ»Ρ index.html Π΄Π»Ρ ΡΠ΅ΡΡΡΠ²Π°Π½Π½Ρ
echo "<h1>Welcome to Example.com!</h1>" | sudo tee /var/www/example.com/html/index.html7. Π’Π΅ΡΡΡΠ²Π°Π½Π½Ρ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ Nginx
ΠΠ΅ΡΠ΅Π΄ Π·Π°ΡΡΠΎΡΡΠ²Π°Π½Π½ΡΠΌ Π·ΠΌΡΠ½ ΠΏΠ΅ΡΠ΅Π²ΡΡΡΠ΅ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ Nginx Π½Π° Π½Π°ΡΠ²Π½ΡΡΡΡ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ½ΠΈΡ ΠΏΠΎΠΌΠΈΠ»ΠΎΠΊ
sudo nginx -tΠ―ΠΊΡΠΎ Π²ΠΈΡΠ½ΠΎΠ²ΠΎΠΊ ΠΏΠΎΠΊΠ°Π·ΡΡ, ΡΠΎ ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ Π²ΠΈΠΊΠΎΠ½Π°Π½Π° ΡΡΠΏΡΡΠ½ΠΎ, ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΡΡΡΡΡΡ Nginx Π΄Π»Ρ Π·Π°ΡΡΠΎΡΡΠ²Π°Π½Π½Ρ Π·ΠΌΡΠ½
sudo systemctl restart nginx8. ΠΠ°Π»Π°ΡΡΡΠ²Π°Π½Π½Ρ HTTPS Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡ Let’s Encrypt (Π½Π΅ΠΎΠ±ΠΎΠ²’ΡΠ·ΠΊΠΎΠ²ΠΎ)
Π©ΠΎΠ± Π·Π°Ρ ΠΈΡΡΠΈΡΠΈ ΡΠ²ΡΠΉ ΡΠ°ΠΉΡ Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡ SSL, Π²ΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠΊΠΎΡΠΈΡΡΠΎΠ²ΡΠ²Π°ΡΠΈ Let’s Encrypt Π΄Π»Ρ ΠΎΡΡΠΈΠΌΠ°Π½Π½Ρ Π±Π΅Π·ΠΊΠΎΡΡΠΎΠ²Π½ΠΎΠ³ΠΎ SSL-ΡΠ΅ΡΡΠΈΡΡΠΊΠ°ΡΡ. Π‘ΠΏΠΎΡΠ°ΡΠΊΡ Π²ΡΡΠ°Π½ΠΎΠ²ΡΡΡ Certbot
sudo yum install certbot python2-certbot-nginxΠΠΎΡΡΠΌ Π·Π°ΠΏΡΡΡΡΡΡ Certbot, ΡΠΎΠ± ΠΎΡΡΠΈΠΌΠ°ΡΠΈ Ρ Π²ΡΡΠ°Π½ΠΎΠ²ΠΈΡΠΈ SSL-ΡΠ΅ΡΡΠΈΡΡΠΊΠ°Ρ
sudo certbot --nginx -d example.com -d www.example.comΠΠΎΡΡΠΈΠΌΡΠΉΡΠ΅ΡΡ ΠΏΡΠ΄ΠΊΠ°Π·ΠΎΠΊ, ΡΠΎΠ± Π·Π°Π²Π΅ΡΡΠΈΡΠΈ Π²ΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½Π½Ρ. Certbot Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π½Π°Π»Π°ΡΡΡΡ Nginx Π½Π° Π²ΠΈΠΊΠΎΡΠΈΡΡΠ°Π½Π½Ρ SSL
9. ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π΅ ΠΎΠ½ΠΎΠ²Π»Π΅Π½Π½Ρ ΡΠ΅ΡΡΠΈΡΡΠΊΠ°ΡΡΠ²
Π‘Π΅ΡΡΠΈΡΡΠΊΠ°ΡΠΈ Let’s Encrypt Π΄ΡΠΉΡΠ½Ρ ΠΏΡΠΎΡΡΠ³ΠΎΠΌ 90 Π΄Π½ΡΠ². Π©ΠΎΠ± Π½Π°Π»Π°ΡΡΡΠ²Π°ΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π΅ ΠΏΠΎΠ½ΠΎΠ²Π»Π΅Π½Π½Ρ, Π΄ΠΎΠ΄Π°ΠΉΡΠ΅ Π·Π°Π²Π΄Π°Π½Π½Ρ cron
sudo crontab -eΠΠΎΠ΄Π°ΠΉΡΠ΅ Π½Π°ΡΡΡΠΏΠ½ΠΈΠΉ ΡΡΠ΄ΠΎΠΊ Π΄Π»Ρ ΡΠΎΠ΄Π΅Π½Π½ΠΎΡ ΠΏΠ΅ΡΠ΅Π²ΡΡΠΊΠΈ ΡΠ° ΠΎΠ½ΠΎΠ²Π»Π΅Π½Π½Ρ ΡΠ΅ΡΡΠΈΡΡΠΊΠ°ΡΡΠ²
0 0 * * * /usr/bin/certbot renew --quiet10. ΠΠΈΡΠ½ΠΎΠ²ΠΎΠΊ
ΠΠΈ ΡΡΠΏΡΡΠ½ΠΎ Π²ΡΡΠ°Π½ΠΎΠ²ΠΈΠ»ΠΈ Ρ Π½Π°Π»Π°ΡΡΡΠ²Π°Π»ΠΈ Nginx Π½Π° CentOS 7, Ρ ΡΠ΅ΠΏΠ΅Ρ Π²ΡΠ½ Π³ΠΎΡΠΎΠ²ΠΈΠΉ Π΄ΠΎ ΡΠΎΠ±ΠΎΡΠΈ Π· Π²Π°ΡΠΈΠΌ ΡΠ°ΠΉΡΠΎΠΌ. Π£ Π²Π°Ρ ΡΠ°ΠΊΠΎΠΆ Ρ ΠΌΠΎΠΆΠ»ΠΈΠ²ΡΡΡΡ Π·Π°Ρ ΠΈΡΡΠΈΡΠΈ ΡΠ²ΡΠΉ ΡΠ°ΠΉΡ Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡ SSL Π·Π° Π΄ΠΎΠΏΠΎΠΌΠΎΠ³ΠΎΡ Let’s Encrypt, ΡΠΊΠΈΠΉ Π·Π°Π±Π΅Π·ΠΏΠ΅ΡΡΡ Π±Π΅Π·ΠΊΠΎΡΡΠΎΠ²Π½Π΅ Ρ Π½Π°Π΄ΡΠΉΠ½Π΅ ΡΠΈΡΡΡΠ²Π°Π½Π½Ρ Π΄Π»Ρ Π±Π΅Π·ΠΏΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·’ΡΠ΄Π½Π°Π½Π½Ρ. Π Π΅Π³ΡΠ»ΡΡΠ½ΠΈΠΉ ΠΌΠΎΠ½ΡΡΠΎΡΠΈΠ½Π³ Π²Π°ΡΠΎΠ³ΠΎ ΡΠ΅ΡΠ²Π΅ΡΠ° Ρ ΠΎΠ½ΠΎΠ²Π»Π΅Π½Π½Ρ Nginx Ρ Π²Π°ΠΆΠ»ΠΈΠ²ΠΈΠΌΠΈ Π΄Π»Ρ ΠΏΡΠ΄ΡΡΠΈΠΌΠΊΠΈ ΠΏΡΠΎΠ΄ΡΠΊΡΠΈΠ²Π½ΠΎΡΡΡ Ρ Π±Π΅Π·ΠΏΠ΅ΠΊΠΈ. ΠΠ΅ΡΠ΅ΠΊΠΎΠ½Π°ΠΉΡΠ΅ΡΡ, ΡΠΎ Π²ΠΈ Π·Π°ΠΌΡΠ½ΠΈΠ»ΠΈ example.com Π½Π° Π²Π°ΡΠ΅ ΡΠΏΡΠ°Π²ΠΆΠ½Ρ Π΄ΠΎΠΌΠ΅Π½Π½Π΅ ΡΠΌ’Ρ Ρ Π½Π°Π»Π°ΡΡΡΠ²Π°Π»ΠΈ ΠΊΠΎΡΠ΅Π½Π΅Π²ΠΈΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΡΠ°ΠΊ, ΡΠΎΠ± Π²ΡΠ½ Π²ΡΠ΄ΠΏΠΎΠ²ΡΠ΄Π°Π² ΡΠΎΠ·ΡΠ°ΡΡΠ²Π°Π½Π½Ρ ΡΠ°ΠΉΠ»ΡΠ² Π²Π°ΡΠΎΠ³ΠΎ Π²Π΅Π±-ΡΠ°ΠΉΡΡ. ΠΡΠ°Π²ΠΈΠ»ΡΠ½Π° ΠΊΠΎΠ½ΡΡΠ³ΡΡΠ°ΡΡΡ ΡΠ΅ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ Π±Π»ΠΎΠΊΡ Ρ Π΄ΠΎΠ·Π²ΠΎΠ»ΡΠ² Π½Π° ΡΠ°ΠΉΠ»ΠΈ Π·Π°Π±Π΅Π·ΠΏΠ΅ΡΠΈΡΡ Π±Π΅Π·ΠΏΠ΅ΡΠ΅Π±ΡΠΉΠ½Ρ ΡΠΎΠ±ΠΎΡΡ Ρ Π΄ΠΎΡΡΡΠΏΠ½ΡΡΡΡ Π΄Π»Ρ Π²Π°ΡΠΈΡ Π²ΡΠ΄Π²ΡΠ΄ΡΠ²Π°ΡΡΠ². ΠΠΈΠΊΠΎΠ½Π°Π²ΡΠΈ ΡΡ ΠΊΡΠΎΠΊΠΈ, Π²ΠΈ Π·ΠΌΠΎΠΆΠ΅ΡΠ΅ Π·Π°Π±Π΅Π·ΠΏΠ΅ΡΠΈΡΠΈ Π½Π°Π΄ΡΠΉΠ½Ρ, ΡΠ²ΠΈΠ΄ΠΊΡ Ρ Π±Π΅Π·ΠΏΠ΅ΡΠ½Ρ ΡΠΎΠ±ΠΎΡΡ Π² ΠΠ½ΡΠ΅ΡΠ½Π΅ΡΡ Π΄Π»Ρ Π²ΡΡΡ , Ρ ΡΠΎ Π·Π°Ρ ΠΎΠ΄ΠΈΡΡ Π½Π° Π²Π°Ρ ΡΠ°ΠΉΡ.
