Ubuntu 24.04 versiyasi uchun qanday qilib Nginx, MySQL, PHP (LEMP Stack) o'rnatish

LEMP - ochiq kodli veb-ilovalar to‘plami bo‘lib, serverda dinamik veb-ilovalarni ishlab chiqish va joylashtirish imkonini beradi. LEMP qisqartmasi ortida:Linux (L), Nginx (enjinx -E),Mysql(M),Php (P) lar nazarda tutiladi.

Ushbu maqolada Ubuntu 24.04 serveriga Nginx, MySQL va PHP (LEMP) to‘plamini qanday o‘rnatish haqida ma’lumotlar ketma tartibda beriladi. Siz to‘plam funksiyalarini sinab ko‘rish uchun asosiy veb-ilovani sozlaysiz va serverga ishonchli SSL sertifikatlari orqali xavfsiz protokol (https) orqali ulanishni ta’minlaysiz.

Talablar

Boshlashdan oldin quyidagilarni bajaring:

  • Ubuntu 24.04 o’rnatilgan server, personal kompyuter yoki virtual server bo’lishi ham mumkin Quyidagi link orqali 100$ bonusgacha virtual serverldan ishlatib bepul ishlatib ko’rishingiz mumkin .

  • Server IP manziliga yo‘naltirilgan yangi domen A yozuvini yarating. Masalan, app.example.com. Quyidagi link orqali yangi domen osongina sotib olishingiz mumkin.

  • SSH orqali serverga ulaning va sudo huquqlari bilan ildiz bo‘lmagan foydalanuvchi sifatida tizimga kiring.

  • Serverni yangilang.

Nginx o‘rnatish

Nginx’ni o‘rnatish uchun quyidagi buyruqni bajaring:

$ sudo apt install nginx -y

Nginx’ni ishga tushirish:

$ sudo systemctl start nginx

Nginx’ni tizim ishga tushganda avtomatik yuklanadigan qilish:

$ sudo systemctl enable nginx

Nginx xizmatining holatini tekshirish:

$ sudo systemctl status nginx

MySQL o‘rnatish

MySQL ma’lumotlar bazasi serverini o‘rnatish:

$ sudo apt install mysql-server -y

MySQL xizmatini ishga tushirish:

$ sudo systemctl start mysql

MySQL xizmatini avtomatik ishga tushadigan qilish:

$ sudo systemctl enable mysql

MySQL holatini tekshirish:

$ sudo systemctl status mysql

MySQL xavfsizlik sozlamalarini o‘rnatish:

$ sudo mysql_secure_installation

Ushbu buyruq bajarilgandan so‘ng, tizim sizdan ba’zi xavfsizlik choralari bo‘yicha savollarga javob berishingizni talab qiladi.

PHP o‘rnatish

PHP va PHP-FPM’ni o‘rnatish uchun quyidagi buyruqlarni bajaring:

$ sudo apt install php php-fpm -y
$ sudo apt install php-mysql php-cli -y

PHP versiyasini tekshirish:

$ php -v

PHP-FPM xizmatini ishga tushirish:

$ sudo systemctl start php8.3-fpm
$ sudo systemctl enable php8.3-fpm

PHP-FPM sozlash

PHP-FPM socket manzilini tekshirish:

$ ss -pl | grep php

PHP-FPM konfiguratsiya faylini tahrirlash:

$ sudo nano /etc/php/8.3/fpm/pool.d/www.conf

Faylda quyidagi qatorlarni toping va www-data foydalanuvchisi sifatida ishga tushirilganligiga ishonch hosil qiling:

user = www-data
group = www-data

O‘zgarishlarni saqlang va chiqib keting.

Nginx’ni PHP-FPM bilan konfiguratsiyalarni bir birga moslash

Veb-katalogda index.php faylini yarating:

$ sudo touch /var/www/html/index.php

Faylga quyidagi ma’lumotlarni qo‘shing:

$ echo "<?php phpinfo(); ?>" | sudo tee /var/www/html/index.php

Standart Nginx konfiguratsiyasini olib tashlang va yangi virtual xost konfiguratsiya faylini yarating:

$ sudo nano /etc/nginx/sites-available/app.example.com.conf

Faylga quyidagi kodni kiriting (o‘z domeningizga mos ravishda o‘zgartiring - app.example.com o’rniga):

server {
    listen 80;
    server_name app.example.com;

    root /var/www/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ =404;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.3-fpm.sock;
    }
}

Konfiguratsiyani saqlang va chiqib keting.

Nginx’ni qayta yuklang:

$ sudo systemctl restart nginx

HTTP port 80’ni ochish:

$ sudo ufw allow 80/tcp

Serverni xavfsiz qilish

UFW (Uncomplicated Firewall) orqali Nginx uchun kerakli portlarni oching:

$ sudo ufw allow 'Nginx Full'
$ sudo ufw reload

SSL sertifikatlarini o‘rnatish uchun Certbot’ni o‘rnating va sertifikat yarating:

$ sudo apt install python3-certbot-nginx
$ sudo certbot --nginx --agree-tos --redirect --email hello@example.com -d app.example.com

SSL sertifikatining avtomatik yangilanishini tekshirish:

$ sudo certbot renew --dry-run

Nginx’ni qayta yuklang:

$ sudo systemctl restart nginx

Xulosa

Bu maqolada Ubuntu 24.04 serverida LEMP to‘plamini o‘rnatish va sozlash bo‘yicha batafsil qo‘llanma taqdim etildi. Savollaringiz bo’lsa izohlarda qoldiring. Endi siz serverda Nginx, MySQL va PHP ishlashini tekshirib, veb-ilovalar ishlab chiqish va joylashtirishni boshlashingiz mumkin.

0
Subscribe to my newsletter

Read articles from Nuriddin Rashidov directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Nuriddin Rashidov
Nuriddin Rashidov