آموزش نصب پشته LEMP در لینوکس (Nginx + MySQL + PHP) پرینت


# ⚙️ آموزش نصب پشته LEMP در لینوکس (Nginx + MySQL + PHP)

پشته‌ی LEMP یکی از محبوب‌ترین زیرساخت‌ها برای میزبانی وبسایت‌های پویا است. برخلاف LAMP که از Apache استفاده می‌کند، در LEMP از **Nginx** به‌عنوان وب‌سرور استفاده می‌شود.

---

## 🧩 اجزای پشته LEMP چیست؟

| مولفه | وظیفه |
| ------------------- | ---------------------------------------------- |
| **Linux** | سیستم‌عامل پایه (Ubuntu, Debian, CentOS و ...) |
| **Nginx** | وب‌سرور قدرتمند و سبک |
| **MySQL / MariaDB** | سیستم پایگاه‌داده |
| **PHP** | زبان اسکریپت‌نویسی برای پردازش سمت سرور |

---

## 📦 نصب پشته LEMP در Ubuntu / Debian

### 1. نصب Nginx

```bash
sudo apt update
sudo apt install nginx -y
sudo systemctl enable --now nginx
```

تست در مرورگر:
`http://your-server-ip`

---

### 2. نصب MySQL یا MariaDB

```bash
sudo apt install mysql-server -y
sudo mysql_secure_installation
```

بررسی:

```bash
mysql -u root -p
```

---

### 3. نصب PHP + FPM

```bash
sudo apt install php-fpm php-mysql -y
```

بررسی نسخه:

```bash
php -v
```

---

### 4. پیکربندی Virtual Host برای استفاده از PHP

```bash
sudo nano /etc/nginx/sites-available/example.com
```

نمونه کانفیگ:

```nginx
server {
listen 80;
server_name example.com;
root /var/www/example.com;

index index.php index.html;

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

location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
}
}
```

فعال‌سازی سایت:

```bash
sudo mkdir -p /var/www/example.com
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx
```

---

## 📦 نصب LEMP در CentOS / AlmaLinux / Rocky

### 1. نصب Nginx

```bash
sudo dnf install nginx -y
sudo systemctl enable --now nginx
```

---

### 2. نصب MariaDB

```bash
sudo dnf install mariadb-server -y
sudo systemctl enable --now mariadb
sudo mysql_secure_installation
```

---

### 3. نصب PHP و PHP-FPM

```bash
sudo dnf install php php-mysqlnd php-fpm -y
sudo systemctl enable --now php-fpm
```

بررسی فایل `/etc/php-fpm.d/www.conf` و تنظیم کاربر:

```ini
user = nginx
group = nginx
```

---

### 4. پیکربندی Nginx برای PHP

```bash
sudo nano /etc/nginx/conf.d/example.com.conf
```

محتوا:

```nginx
server {
listen 80;
server_name example.com;
root /usr/share/nginx/html;

index index.php index.html;

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

location ~ \.php$ {
fastcgi_pass unix:/run/php-fpm/www.sock;
fastcgi_index index.php;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
```

بارگذاری مجدد:

```bash
sudo nginx -t
sudo systemctl reload nginx
```

---

## ✅ تست عملکرد PHP

فایل زیر را بسازید:

```bash
echo "<?php phpinfo(); ?>" | sudo tee /usr/share/nginx/html/info.php
```

در مرورگر باز کنید:
`http://your-server-ip/info.php`

---

## 🔒 اقدامات امنیتی پیشنهادی

* حذف فایل `info.php` پس از تست
* فعال‌سازی فایروال (UFW یا firewalld)
* استفاده از HTTPS با Let’s Encrypt
* محدود کردن دسترسی به phpMyAdmin در صورت نصب

---

## 🟢 نتیجه‌گیری

با انجام مراحل بالا، شما یک پشته‌ی کامل LEMP راه‌اندازی کرده‌اید که توانایی اجرای سایت‌های PHP را با سرعت و بهره‌وری بالا دارد.

 


آیا این پاسخ به شما کمک کرد؟

  • 0
« برگشت