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.
Subscribe to my newsletter
Read articles from Nuriddin Rashidov directly inside your inbox. Subscribe to the newsletter, and don't miss out.
Written by
