ΠΠ°ΠΊ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ Π² Nginx Π² Ubuntu
ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ Π² Nginx Π²ΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π΄Π° Ρ ΠΎΡΡΠ²Π°ΡΠ΅ Π½ΡΠΊΠΎΠ»ΠΊΠΎ ΡΠ΅Π±ΡΠ°ΠΉΡΠ° Π½Π° Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ, ΠΊΠ°ΡΠΎ Π²ΡΠ΅ΠΊΠΈ ΡΠ΅Π±ΡΠ°ΠΉΡ ΠΈΠΌΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎ ΠΈΠΌΠ΅ Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½. ΠΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ Ρ ΠΎΡΡΠΎΠ²Π΅ Π² Nginx ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Ρ Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° “Π±Π»ΠΎΠΊΠΎΠ²Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ°”, ΠΊΠΎΠΈΡΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ΅Π±ΡΠ°ΠΉΡ. Π’ΠΎΠ²Π° ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ ΡΠ΅ Π²ΠΈ Π·Π°ΠΏΠΎΠ·Π½Π°Π΅ Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ Π½Π° ΡΡΡΠ²ΡΡ Ubuntu Ρ Nginx.
1. ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ
- ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Nginx: Π£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ Nginx Π΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½ Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ. ΠΠΊΠΎ Π½Π΅, ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ Π³ΠΎ Ρ:
sudo apt updatesudo apt install nginx - ΠΠΌΠ΅Π½Π° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ: ΠΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° Ρ ΠΎΡΡΠ²Π°ΡΠ΅, ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π°Ρ Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠΌ IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ. ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»Π° /etc/hosts Π·Π° ΡΠ΅Π»ΠΈΡΠ΅ Π½Π° ΡΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ.
2. Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ΅Π±ΡΠ°ΠΉΡ
ΠΡΠ΅ΠΊΠΈ ΡΠ΅Π±ΡΠ°ΠΉΡ ΡΡΡΠ±Π²Π° Π΄Π° ΠΈΠΌΠ° ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π·Π° ΡΡΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ Π½Π° ΡΠ°ΠΉΡΠ°. ΠΠ΅ΠΊΠ° ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π·Π° Π΄Π²Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΈ ΡΠ΅Π±ΡΠ°ΠΉΡΠ° – example1.com ΠΈ example2.com.
sudo mkdir -p /var/www/example1.com/html sudo mkdir -p /var/www/example2.com/htmlΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΎΡΠΎ Π½Π° ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΎΡΡ Π²ΡΡΡ Ρ ΡΠ΅Π·ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΈ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ Nginx (www-data), Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ Nginx ΠΈΠΌΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ.
sudo chown -R www-data:www-data /var/www/example1.com/html sudo chown -R www-data:www-data /var/www/example2.com/htmlΠΠ°Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ:
sudo chmod -R 755 /var/www3. Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅
ΠΠ° Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ Ρ ΠΎΡΡΠΎΠ²Π΅, Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΈ HTML ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΡ.
Example1.com:
echo "<h1>Welcome to Example1.com!</h1>" | sudo tee /var/www/example1.com/html/index.htmlExample2.com:
echo "<h1>Welcome to Example2.com!</h1>" | sudo tee /var/www/example2.com/html/index.html4. Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π·Π° Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Ρ ΠΎΡΡ
Π‘Π΅Π³Π° ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ΠΌ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° ΡΡΡΠ²ΡΡΠ΅Π½ Π±Π»ΠΎΠΊ (Π²ΠΈΡΡΡΠ°Π»Π΅Π½ Ρ ΠΎΡΡ) Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ΅Π±ΡΠ°ΠΉΡ. Nginx ΡΡΡ ΡΠ°Π½ΡΠ²Π° ΡΠ΅Π·ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π² Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΡΠ° /etc/nginx/sites-available/.
Π‘ΡΡΠΏΠΊΠ° 1: Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π° Example1.com
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° example1.com:
sudo nano /etc/nginx/sites-available/example1.comΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:
server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}Π‘ΡΡΠΏΠΊΠ° 2: Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π·Π° Example2.com
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° example2.com:
sudo nano /etc/nginx/sites-available/example2.comΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ:
server {
listen 80;
server_name example2.com www.example2.com;
root /var/www/example2.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}5. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ Ρ ΠΎΡΡΠΎΠ²Π΅
Nginx ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° ΡΠΈΠΌΠ²ΠΎΠ»Π½ΠΈ Π²ΡΡΠ·ΠΊΠΈ, Π·Π° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈΡΠ΅ Ρ ΠΎΡΡΠΎΠ²Π΅. Π‘Π²ΡΡΠΆΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΠΎΡ sites-available ΠΊΡΠΌ sites-enabled:
sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/ sudo ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/6. Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°
ΠΠ° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π²ΠΈ Π½ΡΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ Π² ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ°, ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅:
sudo nginx -tΠΠΊΠΎ Π²ΡΠΈΡΠΊΠΎ Π΅ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, ΡΠ΅ Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ Π·Π° ΠΏΠΎΡΠ²ΡΡΠΆΠ΄Π΅Π½ΠΈΠ΅. ΠΠΊΠΎ ΠΈΠΌΠ° Π³ΡΠ΅ΡΠΊΠΈ, Nginx ΡΠ΅ ΠΏΠΎΠΊΠ°ΠΆΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ, Π·Π° Π΄Π° Π²ΠΈ ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Π΄Π° ΠΎΡΡΡΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈΡΠ΅.
7. Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ Nginx
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ²ΡΡΠ΄ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ°, ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ Nginx, Π·Π° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅:
sudo systemctl restart nginx8. ΠΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ΡΠ΅
ΠΠΊΠΎ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ ΡΠ° Π½Π°ΡΠΎΡΠ΅Π½ΠΈ ΠΊΡΠΌ Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ, ΡΠ΅Π³Π° ΡΡΡΠ±Π²Π° Π΄Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΡ, ΠΊΠ°ΡΠΎ ΠΏΠΎΡΠ΅ΡΠΈΡΠ΅:
- http://example1.com
- http://example2.com
ΠΠ° Π»ΠΎΠΊΠ°Π»Π½ΠΎ ΡΠ΅ΡΡΠ²Π°Π½Π΅ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΡΠ΅ ΡΠ°ΠΉΠ»Π° /etc/hosts, Π·Π° Π΄Π° ΡΡΠΏΠΎΡΡΠ°Π²ΠΈΡΠ΅ ΠΈΠΌΠ΅Π½Π°ΡΠ° Π½Π° Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ Ρ IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ. ΠΠΎΠ±Π°Π²Π΅ΡΠ΅ Π·Π°ΠΏΠΈΡΠΈ ΠΊΠ°ΡΠΎ:
127.0.0.1 example1.com 127.0.0.1 example2.comΠΠ°ΠΏΠ°Π·Π΅ΡΠ΅ ΠΈ Π·Π°ΡΠ²ΠΎΡΠ΅ΡΠ΅ ΡΠ°ΠΉΠ»Π°, ΡΠ»Π΅Π΄ ΠΊΠΎΠ΅ΡΠΎ ΠΎΠΏΠΈΡΠ°ΠΉΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠ°ΠΉΡΠΎΠ²Π΅ΡΠ΅ Π² Π±ΡΠ°ΡΠ·ΡΡΠ° ΡΠΈ.
9. ΠΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° HTTPS Π·Π° Π²ΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΡ (ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ)
ΠΠ° ΡΠΈΠ³ΡΡΠ½ΠΈ Π²ΡΡΠ·ΠΊΠΈ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ Let’s Encrypt. ΠΠ° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ HTTPS:
ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°ΠΉΡΠ΅ certbot:
sudo apt install certbot python3-certbot-nginxΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π° Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ SSL ΡΠ΅ΡΡΠΈΡΠΈΠΊΠ°ΡΠΈ Π·Π° Π²ΡΠ΅ΠΊΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½:
sudo certbot --nginx -d example1.com -d www.example1.com sudo certbot --nginx -d example2.com -d www.example2.comΠ‘Π»Π΅Π΄Π²Π°ΠΉΡΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡΡΠ° ΠΈ Certbot Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ ΡΠ΅ ΡΡΠ·Π΄Π°Π΄Π΅ HTTPS Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Nginx.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π§ΡΠ΅Π· ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ΡΠΎ Π½Π° Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ Ρ ΠΎΡΡΠΎΠ²Π΅ Π² Nginx Π² Ubuntu ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Ρ ΠΎΡΡΠ²Π°ΡΠ΅ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ΅Π±ΡΠ°ΠΉΡΠΎΠ²Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΡΡΡΠ²ΡΡ, Π²ΡΠ΅ΠΊΠΈ ΡΡΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ ΠΈ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅. Π’Π°Π·ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ Π΅ Π΅ΡΠ΅ΠΊΡΠΈΠ²Π½Π° ΠΈ ΠΌΠ°ΡΠ°Π±ΠΈΡΡΠ΅ΠΌΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΏΡΠ°Π²ΠΈ Nginx ΠΎΡΠ»ΠΈΡΠ΅Π½ ΠΈΠ·Π±ΠΎΡ Π·Π° Ρ ΠΎΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΠ°ΠΉΡΠΎΠ²Π΅ Π½Π° Π΅Π΄ΠΈΠ½ ΠΈ ΡΡΡ ΡΡΡΠ²ΡΡ.
