Linux — serverlar dunyosining asosi. Internet saytlarining 90% dan ko'prog'i Linux serverlarida ishlaydi. Dasturchi sifatida Linux bilish — bu majburiyat emas, imkoniyat. Bu maqolada eng zarur Linux bilimlarni o'rganamiz.

Asosiy terminal buyruqlari

# Navigatsiya
pwd                    # Joriy papka
ls -la                 # Fayllar ro'yxati
cd /var/www            # Papkaga o'tish
mkdir -p project/src   # Papka yaratish

# Fayl operatsiyalari
cp file.txt backup/    # Nusxa olish
mv old.txt new.txt     # Ko'chirish/nomini o'zgartirish
rm -rf temp/           # O'chirish
cat config.php         # Fayl mazmunini ko'rish
nano config.php        # Tahrirlash

# Qidiruv
find / -name "*.log"   # Fayl qidirish
grep -r "error" /var/log/ # Matn qidirish

Foydalanuvchilar va huquqlar

# Huquqlar
chmod 755 script.sh    # rwxr-xr-x
chmod 644 config.php   # rw-r--r--
chown www-data:www-data /var/www  # Egasini o'zgartirish

# Foydalanuvchilar
adduser developer      # Yangi foydalanuvchi
usermod -aG sudo developer  # Sudo huquqi
passwd developer       # Parol o'zgartirish

Server sozlash (Ubuntu/Debian)

# Tizimni yangilash
sudo apt update ; sudo apt upgrade -y

# Nginx o'rnatish
sudo apt install nginx -y
sudo systemctl enable nginx

# PHP o'rnatish
sudo apt install php8.2-fpm php8.2-mysql php8.2-mbstring -y

# MySQL o'rnatish
sudo apt install mysql-server -y
sudo mysql_secure_installation

Nginx konfiguratsiya

server {
    listen 80;
    server_name procoders.uz;
    root /var/www/procoders/public;
    index index.php;

    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }

    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }
}

Foydali vositalar

  • htop — tizim monitoring
  • tmux — terminal multiplekser
  • ssh-keygen — SSH kalit yaratish
  • scp / rsync — fayl ko'chirish
  • crontab — avtomatik vazifalar
  • certbot — SSL sertifikat
Linux o'rganishning eng yaxshi usuli — uni har kuni ishlatish. WSL2 yoki virtual mashina o'rnatib, boshlang.

Xulosa

Linux bilish dasturchi sifatida imkoniyatlaringizni kengaytiradi. Server deploy, DevOps, cloud — barchasi Linux asosida. Boshlash uchun barcha kerakli narsa — terminal va qiziqish.