ΠΠ°ΠΊ Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Linux, Nginx, MySQL, PHP (LEMP) Π² Ubuntu
1. ΠΡΠ΅Π΄Π²Π°ΡΠΈΡΠ΅Π»Π½ΠΈ ΡΡΠ»ΠΎΠ²ΠΈΡ
ΠΡΠ΅Π΄ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅, ΡΠ²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΡΠ°Π·ΠΏΠΎΠ»Π°Π³Π°ΡΠ΅ ΡΡΡ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ
- Π‘ΡΡΠ²ΡΡ, ΡΠ°Π±ΠΎΡΠ΅Ρ Ρ Ubuntu 18.04 ΠΈΠ»ΠΈ 20.04.
- ΠΡΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΠΈ Sudo Π½Π° ΡΡΡΠ²ΡΡΠ°.
- Π’Π΅ΡΠΌΠΈΠ½Π°Π» ΠΈΠ»ΠΈ SSH Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ.
2. ΠΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°
ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΡΠΈ ΠΈ ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π° Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΠΈΠ½Π΄Π΅ΠΊΡΠ° Π½Π° ΠΏΠ°ΠΊΠ΅ΡΠΈΡΠ΅ ΡΠΈ
sudo apt update3. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Nginx
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° Nginx
ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ Nginx
sudo apt install nginx -yΠ‘ΡΡΠΏΠΊΠ° 2: Π‘ΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Nginx
Π‘Π»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Nginx ΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅ΡΠ΅ Π½Π΅ΠΉΠ½ΠΎΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅
sudo systemctl start nginx sudo systemctl enable nginxΠ‘ΡΡΠΏΠΊΠ° 3: ΠΡΠΎΠ²Π΅ΡΠ΅ΡΠ΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Nginx
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° Nginx, Π·Π° Π΄Π° ΡΠ΅ ΡΠ²Π΅ΡΠΈΡΠ΅, ΡΠ΅ ΡΠΎΠΉ ΡΠ°Π±ΠΎΡΠΈ
sudo systemctl status nginxΠΠΎΠΆΠ΅ΡΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° Π΄Π° ΠΎΡΠ²ΠΎΡΠΈΡΠ΅ ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡΠ° ΡΠΈ ΠΈ Π΄Π° ΠΏΡΠ΅ΠΌΠΈΠ½Π΅ΡΠ΅ ΠΊΡΠΌ IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°. Π’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠΈΠ²Π΅ΡΡΡΠ²Π°ΡΠ°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° Nginx
4. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° MySQL
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ° MySQL
ΠΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°, Π·Π° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ MySQL
sudo apt install mysql-server -yΠ‘ΡΡΠΏΠΊΠ° 2: ΠΠ°ΡΠΈΡΠ° Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° Π½Π° MySQL
Π‘Π»Π΅Π΄ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠΊΡΠΈΠΏΡΠ° Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ, Π·Π° Π΄Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠΈΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° MySQL
sudo mysql_secure_installationΠ‘Π»Π΅Π΄Π²Π°ΠΉΡΠ΅ ΡΠΊΠ°Π·Π°Π½ΠΈΡΡΠ°, Π·Π° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΠ°ΡΠΎΠ»Π° Π½Π° Π³Π»Π°Π²Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΈ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ Π΄ΡΡΠ³ΠΈ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ
5. ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° PHP
Π‘ΡΡΠΏΠΊΠ° 1: ΠΠ½ΡΡΠ°Π»ΠΈΡΠ°Π½Π΅ Π½Π° PHP ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ
ΠΠ° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ PHP ΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ ΡΠ°Π·ΡΠΈΡΠ΅Π½ΠΈΡ Π·Π° Nginx ΠΈ MySQL, ΠΈΠ·ΠΏΡΠ»Π½Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π°
sudo apt install php-fpm php-mysql -yΠ‘ΡΡΠΏΠΊΠ° 2: ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° PHP ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°
ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈΡ ΡΠ°ΠΉΠ» Π½Π° PHP Π·Π° Nginx
sudo nano /etc/php/7.4/fpm/php.iniΠ£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ ΡΠ° Π·Π°Π΄Π°Π΄Π΅Π½ΠΈ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ΅Π΄ΠΎΠ²Π΅ (Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ, ΡΠ°Π·ΠΊΠΎΠΌΠ΅Π½ΡΠΈΡΠ°ΠΉΡΠ΅ Π³ΠΈ)
cgi.fix_pathinfo=0Π‘ΡΡΠΏΠΊΠ° 3: Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° PHP-FPM
Π‘Π»Π΅Π΄ ΠΊΠ°ΡΠΎ Π½Π°ΠΏΡΠ°Π²ΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° PHP, ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° PHP-FPM
sudo systemctl restart php7.4-fpm6. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅ Π½Π° Nginx Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° PHP
Π‘ΡΡΠΏΠΊΠ° 1: Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΡΡΠ²ΡΡΠ΅Π½ Π±Π»ΠΎΠΊ Π·Π° Π²Π°ΡΠΈΡ ΡΠ΅Π±ΡΠ°ΠΉΡ
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ Π½ΠΎΠ² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π·Π° Π²Π°ΡΠΈΡ ΡΠ΅Π±ΡΠ°ΠΉΡ
sudo nano /etc/nginx/sites-available/your_domainΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½Π°ΡΠ° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ
server {
listen 80;
server_name your_domain;
# Replace with your domain or server IP
root /var/www/your_domain;
# The root directory where your website files are stored
index index.php index.html index.htm;
# Default files to load when accessing the root directory
location / {
try_files $uri $uri/ =404;
}
location ~ .php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
# Adjust PHP version as necessary
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
location ~ /.ht {
deny all;
}
}Π‘ΡΡΠΏΠΊΠ° 2: ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π±Π»ΠΎΠΊΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°
Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΡΠΈΠΌΠ²ΠΎΠ»Π½Π° Π²ΡΡΠ·ΠΊΠ°, Π·Π° Π΄Π° ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Π±Π»ΠΎΠΊΠ° Π½Π° ΡΡΡΠ²ΡΡΠ°
sudo ln -s /etc/nginx/sites-available/your_domain /etc/nginx/sites-enabled/Π‘ΡΡΠΏΠΊΠ° 3: Π’Π΅ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Nginx
Π’Π΅ΡΡΠ²Π°ΠΉΡΠ΅ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡΠ° Π½Π° Nginx Π·Π° Π΅Π²Π΅Π½ΡΡΠ°Π»Π½ΠΈ ΡΠΈΠ½ΡΠ°ΠΊΡΠΈΡΠ½ΠΈ Π³ΡΠ΅ΡΠΊΠΈ
sudo nginx -tΠ‘ΡΡΠΏΠΊΠ° 4: Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ Nginx
Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΡΡΠ»ΡΠ³Π°ΡΠ° Nginx, Π·Π° Π΄Π° ΠΏΡΠΈΠ»ΠΎΠΆΠΈΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅
sudo systemctl restart nginx7. Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» Π½Π° PHP
ΠΠ° Π΄Π° ΡΠ΅ΡΡΠ²Π°ΡΠ΅ ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ° Π½Π° PHP, ΡΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ» PHP Π² ΠΊΠΎΡΠ΅Π½ΠΎΠ²Π°ΡΠ° ΠΎΠ±Π»Π°ΡΡ Π½Π° Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°
sudo nano /var/www/your_domain/info.phpΠΠΎΠ±Π°Π²Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅
<?php phpinfo(); ?>8. ΠΠΎΡΡΡΠΏ Π΄ΠΎ Π²Π°ΡΠ΅ΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅
ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ ΡΠ΅Π± Π±ΡΠ°ΡΠ·ΡΡΠ° ΡΠΈ ΠΈ ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π½Π° http://your_domain/info.php ΠΈΠ»ΠΈ Π½Π° IP Π°Π΄ΡΠ΅ΡΠ° Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ. Π’ΡΡΠ±Π²Π° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΎΠ½Π½Π°ΡΠ° ΡΡΡΠ°Π½ΠΈΡΠ° Π½Π° PHP
9. ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π£ΡΠΏΠ΅ΡΠ½ΠΎ ΡΡΠ΅ ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°Π»ΠΈ ΡΡΠ΅ΠΊΠ° LEMP (Linux, Nginx, MySQL, PHP) Π½Π° Π²Π°ΡΠΈΡ ΡΡΡΠ²ΡΡ Ubuntu. Π’Π°Π·ΠΈ ΠΌΠΎΡΠ½Π° ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΡ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΡΠ°Π±ΠΈΠ»Π½Π° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ° Π·Π° Ρ ΠΎΡΡΠΈΠ½Π³ Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½ΠΈ ΡΠ΅Π± ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ. ΠΠ΅ Π·Π°Π±ΡΠ°Π²ΡΠΉΡΠ΅ Π΄Π° Π·Π°ΡΠΈΡΠΈΡΠ΅ ΡΡΡΠ²ΡΡΠ° ΡΠΈ, ΡΠ΅Π΄ΠΎΠ²Π½ΠΎ Π΄Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠΎΡΡΡΠ΅ΡΠ° ΡΠΈ ΠΈ Π΄Π° ΠΏΡΠΎΡΡΠΈΡΠ΅ Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΈ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ Π·Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ°
