راه‌اندازی یک وب‌سرور پرقدرت و پایدار همیشه یکی از دغدغه‌های اصلی مدیران سرور و توسعه‌دهندگان بوده است. ساختار نرم‌افزاری LEMP که از Linux + Nginx + MySQL/MariaDB + PHP-FPM تشکیل شده، یک معماری مدرن، سریع و بهینه برای اجرای اپلیکیشن‌های PHP‌محور محسوب می‌شود. اگر قصد دارید یک وب‌سرور سریع‌تر از Apache، با مصرف منابع کمتر و امنیت بالا داشته باشید، انتخاب LEMP بهترین گزینه است؛ به‌خصوص روی سیستم‌عامل CentOS / AlmaLinux / RHEL / Rocky Linux که به‌صورت پیش‌فرض پایدار و مناسب محیط‌های Production طراحی شده‌اند.
💡 LEMP چیست؟ ترکیبی از Linux + Nginx + MySQL + PHP است که برای اجرای اپلیکیشن‌های PHP با سرعت بالا طراحی شده است.
مزیت اصلی: مصرف RAM بسیار کمتر نسبت به Apache و توانایی پردازش هزاران درخواست همزمان.
در این آموزش کامل، شما یاد می‌گیرید چطور به‌صورت عملی و قدم‌به‌قدم، LEMP را نصب و روی CentOS کانفیگ کنید، Virtual Host بسازید، PHP-FPM را به Nginx متصل کنید، پایگاه داده را ایمن سازید و در نهایت سرور را برای اجرا آماده کنید.
چک‌لیست مواردی که در مقدمه یاد می‌گیرید:
  • تفاوت LEMP با LAMP
  • دلیل استفاده حرفه‌ای‌ها از Nginx
  • ضرورت استفاده از PHP-FPM
  • اهمیت امنیت MySQL/MariaDB
  • پیش‌نیازهای نصب و مدیریت سرویس‌ها
  • تنظیمات SELinux و Firewall
حتماً زمانی که این مقاله را باز کرده‌اید…
به دنبال یک راهنمای عملی، واقعی و قابل اعتماد برای نصب Nginx، MySQL و PHP روی CentOS هستید. این مقاله دقیقاً همان چیزی است که نیاز دارید؛ چون تمام مراحل نصب، امنیت، تست نهایی و رفع خطاها را به زبان ساده اما تخصصی توضیح داده‌ام. پس همراه ما باشید… 😉👇
اگر قصد دارید میزبانی پایدار، سریع و امن برای اجرای پروژه‌های PHP داشته باشید، سرورهای مجازی و اختصاصی وب‌داده در انواع موقعیت های جهانی بهترین گزینه هستند.👇
نصب و پیکربندی LEMP Stack در CentOS

LEMP چیست و چگونه کار می‌کند؟

معماری LEMP مجموعه‌ای از چهار نرم‌افزار اصلی است که کنار یکدیگر یک وب‌سرور کامل را تشکیل می‌دهند. Nginx وظیفه سرویس‌دهی به درخواست‌های وب را برعهده دارد، MySQL/MariaDB داده‌ها را مدیریت می‌کند و PHP-FPM پردازش کدهای PHP را به شکل جداگانه انجام می‌دهد. این جداسازی باعث افزایش سرعت و پایداری سرور می‌شود.
📝 ساختار LEMP
Client Browser
⬇️
Nginx (Web Server)
⬇️
PHP-FPM (Process Manager)
⬇️
MySQL/MariaDB (Database)
Nginx از ساختار event-driven استفاده می‌کند که هزاران اتصال همزمان را با مصرف منابع بسیار کم مدیریت می‌کند. در مقابل، Apache از مدل process-based استفاده می‌کند که برای هر درخواست یک process جدید ایجاد می‌کند.

چرا باید LEMP را روی CentOS نصب کنیم؟

CentOS همیشه به‌عنوان یک سیستم‌عامل پایدار، قابل اعتماد و مناسب محیط Production شناخته می‌شود. از طرفی ترکیب LEMP با CentOS یک انتخاب فوق‌العاده برای اجرای سایت‌های پرترافیک مانند وردپرس، فروشگاه‌های آنلاین یا APIهای سنگین است.

مزایای نصب LEMP روی CentOS:

  • سرعت و Performance بسیار بالا
  • مصرف RAM کمتر نسبت به Apache (تا 40% کاهش)
  • امنیت بیشتر به‌دلیل ساختار ماژولار
  • پردازش PHP جدا از Nginx (افزایش پایداری)
  • مناسب پروژه‌های شرکت‌ها و سازمان‌ها
  • پشتیبانی بلندمدت (LTS) در نسخه‌های Stream

پیش‌نیازهای نصب LEMP روی CentOS

پیش از شروع نصب پشته یا معماری LEMP، لازم است محیط سیستم‌عامل آماده و سازگار باشد تا از بروز خطاهای احتمالی جلوگیری شود. فراهم‌بودن دسترسی‌های لازم، فعال‌بودن مخازن و باز بودن پورت‌های وب‌سرور باعث می‌شود مراحل نصب بدون وقفه انجام شود. این پیش‌نیازها همچنین پایه‌ای برای امنیت و پایداری سرور در مراحل بعدی فراهم می‌کنند
  • دسترسی SSH به سرور
  • داشتن دسترسی root یا sudo
  • فعال بودن مخازن EPEL و Remi
  • پورت‌های 80 و 443 باز باشند
  • حداقل 1GB RAM (توصیه: 2GB+)
  • فضای دیسک کافی (حداقل 10GB آزاد)

آموزش نصب و کانفیگ LEMP روی CentOS

آموزش نصب و کانفیگ LEMP در این بخش به‌گونه‌ای طراحی شده که حتی اگر برای اولین‌بار با Nginx یا PHP-FPM کار می‌کنید، بتوانید تمام مراحل را بدون خطا پیش ببرید. این قسمت از مقاله به شما کمک می‌کند ساختار سرویس‌ها را بهتر درک کنید و بدانید هر مرحله دقیقاً چه نقشی در عملکرد نهایی سرور دارد. هدف این است که در پایان این بخش، یک محیط کاملاً آماده و استاندارد برای اجرای وب‌سایت‌های PHP داشته باشید.
در این بخش همراه تیم وب‌داده باشید تا به صورت عملی و قدم‌به‌قدم LEMP را روی CentOS نصب کنیم.

1- نصب و آماده‌سازی سیستم (Foundation Setup)

در این مرحله هدف ایجاد یک پایه پایدار برای ادامه نصب LEMP است؛ به‌طوری‌که سیستم‌عامل به‌روز، مخازن فعال و وابستگی‌ها آماده باشند. این بخش کمک می‌کند از بروز خطاهای احتمالی در مراحل بعدی جلوگیری شده و فرآیند نصب با بیشترین سازگاری و کمترین مشکل انجام شود.

1-1 بروزرسانی سیستم

# برای CentOS 7:
yum update -y

# برای CentOS 8+ / AlmaLinux / Rocky Linux:
dnf update -y
این فرمان تمام بسته‌های سیستم را به آخرین نسخه پایدار آپدیت می‌کند. این کار قبل از نصب LEMP ضروری است.

2-1 نصب مخازن EPEL و Remi

# برای CentOS 7:
yum install epel-release -y
yum install https://rpms.remirepo.net/enterprise/remi-release-7.rpm -y

# برای CentOS 8 / AlmaLinux 8 / Rocky Linux 8:
dnf install epel-release -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-8.rpm -y

# برای AlmaLinux 9 / Rocky Linux 9:
dnf install epel-release -y
dnf install https://rpms.remirepo.net/enterprise/remi-release-9.rpm -y
این مخازن نسخه‌های جدید PHP و ابزارهای موردنیاز را فراهم می‌کنند.

3-1 فعال‌سازی ماژول PHP مورد نظر

# برای CentOS 8+:
dnf module reset php
dnf module enable php:remi-8.2 -y

# برای نصب PHP 8.1:
dnf module enable php:remi-8.1 -y

# برای CentOS 7:
yum-config-manager --enable remi-php82
⚠️ نکته: نسخه‌های PHP 8.1 و 8.2 در سال 2025 بهترین انتخاب هستند.

2- نصب و پیکربندی Nginx

در این مرحله هدف ایجاد هماهنگی کامل میان وب‌سرور و پردازشگر PHP است تا درخواست‌های کاربران با سریع‌ترین و کم‌مصرف‌ترین شیوه ممکن پردازش شوند. در این بخش یاد می‌گیرید چطور Nginx را به‌عنوان موتور اصلی سروینگ صفحات و PHP-FPM را به‌عنوان پردازشگر مستقل راه‌اندازی و به یکدیگر متصل کنید تا پایه‌ای برای یک محیط میزبانی بهینه و پایدار فراهم شود.

1-2 نصب Nginx

# CentOS 7:
yum install nginx -y

# CentOS 8+:
dnf install nginx -y

2-2 فعال‌سازی و شروع سرویس

systemctl enable nginx
systemctl start nginx
systemctl status nginx

3-2 بررسی نسخه Nginx

nginx -v

3- نصب و پیکربندی PHP-FPM

PHP-FPM (FastCGI Process Manager) یک پردازشگر مستقل و بهینه‌شده برای اجرای کدهای PHP است که برخلاف mod_php در Apache، به‌صورت جداگانه از وب‌سرور کار می‌کند. این جداسازی باعث می‌شود Nginx بتواند درخواست‌های استاتیک را مستقیماً سرویس دهد و فقط فایل‌های PHP را به FPM ارسال کند، در نتیجه مصرف منابع تا 60% کاهش می‌یابد و سرعت پاسخ‌دهی به‌طور محسوسی افزایش پیدا می‌کند. در این بخش، مراحل نصب PHP-FPM، تنظیم Pool برای هر وب‌سایت، پیکربندی اتصال Socket با Nginx و بهینه‌سازی Process Manager را به‌صورت عملی و گام‌به‌گام آموزش می‌دهیم.

1-3 نصب PHP-FPM و اکستنشن‌های ضروری

# CentOS 7:
yum install php php-fpm php-mysqlnd php-cli php-opcache php-zip php-xml php-json php-mbstring php-gd php-curl -y

# CentOS 8+:
dnf install php php-fpm php-mysqlnd php-cli php-opcache php-zip php-xml php-json php-mbstring php-gd php-curl -y

2-3 فعال‌سازی PHP-FPM

systemctl enable php-fpm
systemctl start php-fpm
systemctl status php-fpm

3-3 بررسی نسخه PHP

php -v

4-3 تنظیمات PHP-FPM برای Nginx

vi /etc/php-fpm.d/www.conf
تغییرات ضروری:
; تغییر user و group به nginx
user = nginx
group = nginx

; تنظیم socket
listen = /run/php-fpm/www.sock

; تنظیم مالکیت socket
listen.owner = nginx
listen.group = nginx
listen.mode = 0660

; تنظیمات Process Manager
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
pm.max_requests = 500

5-3 ریستارت PHP-FPM

systemctl restart php-fpm

6-3 بررسی مسیر Socket

ls -la /run/php-fpm/www.sock
خروجی باید شبیه این باشد:
srw-rw---- 1 nginx nginx 0 Dec 8 10:30 /run/php-fpm/www.sock

4- تنظیمات SELinux (بسیار مهم!)

SELinux در CentOS به‌صورت پیش‌فرض فعال است و باید تنظیمات لازم را انجام دهید:
={IMPORTXML("https://webdade.com/post-sitemap1.xml","//*[local-name() = 'url']/*[local-name() = 'loc']");IMPORTXML("https://webdade.com/post-sitemap2.xml","//*[local-name() = 'ur# فعال‌سازی اتصال شبکه برای Nginx
setsebool -P httpd_can_network_connect 1

# اجازه اجرای حافظه برای PHP
setsebool -P httpd_execmem 1

# تنظیم context برای فایل‌های وب
chcon -R -t httpd_sys_content_t /var/www/html/

# اجازه اتصال به database
setsebool -P httpd_can_network_connect_db 1

# بررسی وضعیت SELinux
getenforcel']/*[local-name() = 'loc']");IMPORTXML("https://webdade.com/post-sitemap3.xml","//*[local-name() = 'url']/*[local-name() = 'loc']");IMPORTXML("https://webdade.com/page-sitemap.xml","//*[local-name() = 'url']/*[local-name() = 'loc']")}
⚠️ هرگز SELinux را غیرفعال نکنید! فقط تنظیمات صحیح را اعمال کنید.

5- تنظیمات Firewall

# باز کردن پورت HTTP
firewall-cmd --permanent --add-service=http

# باز کردن پورت HTTPS
firewall-cmd --permanent --add-service=https

# اعمال تغییرات
firewall-cmd --reload

# بررسی وضعیت
firewall-cmd --list-all

6- نصب و پیکربندی MySQL/MariaDB

در این مرحله هدف ایجاد یک پایگاه‌داده امن، پایدار و بهینه است؛ جایی که اطلاعات حساس اپلیکیشن ذخیره می‌شود و باید زیرساخت آن بدون ضعف و خطا باشد. تمرکز اصلی این بخش بر نصب درست سرویس، ایمن‌سازی اولیه و ساخت ساختارهای موردنیاز برای اجرای پروژه‌های PHP است.

1-6 نصب پایگاه‌داده

# CentOS 7:
yum install mariadb-server -y

# CentOS 8+:
dnf install mariadb-server -y

2-6 فعال‌سازی سرویس

systemctl enable mariadb
systemctl start mariadb
systemctl status mariadb

3-6 اجرای امنیت اولیه

mysql_secure_installation
در این مرحله باید:
  • رمز root تنظیم کنید (رمز قوی انتخاب کنید)
  • کاربرهای Anonymous حذف شوند (Yes)
  • Remote root login غیرفعال شود (Yes)
  • دیتابیس test حذف شود (Yes)
  • Reload privilege tables (Yes)

4-6 ساخت دیتابیس و کاربر نمونه

mysql -u root -p
CREATE DATABASE myapp CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'StrongPassword123!';
GRANT ALL PRIVILEGES ON myapp.* TO 'myuser'@'localhost';
FLUSH PRIVILEGES;
EXIT;

5-6 تست اتصال

mysql -u myuser -p myapp

7- ساخت Virtual Host در Nginx

Virtual Host در Nginx به شما امکان می‌دهد چندین وب‌سایت با دامنه‌های مختلف را روی یک سرور واحد میزبانی کنید، به‌طوری‌که هر سایت دارای تنظیمات، مسیر فایل، لاگ و پیکربندی مستقل خود باشد. در Nginx این قابلیت از طریق ایجاد فایل‌های کانفیگ جداگانه در مسیر /etc/nginx/conf.d/ با ساختار server {} block پیاده‌سازی می‌شود و به شما کنترل کامل بر روی هر دامنه، از تنظیمات SSL و PHP-FPM گرفته تا قوانین Rewrite و Cache را می‌دهد. در این بخش، مراحل ساخت یک Virtual Host کامل، امن و بهینه‌شده برای اجرای اپلیکیشن‌های PHP مانند وردپرس و لاراول را به‌صورت عملی آموزش می‌دهیم.

1-7 ساخت دایرکتوری وب‌سایت

mkdir -p /var/www/html/example.com
chown -R nginx:nginx /var/www/html/example.com
chmod -R 755 /var/www/html/example.com

2-7 ساخت فایل کانفیگ

vi /etc/nginx/conf.d/example.com.conf
محتوای فایل (کانفیگ کامل و بهینه):
server {
    listen 80;
    server_name example.com www.example.com;
    root /var/www/html/example.com;
    
    index index.php index.html index.htm;
    
    # لاگ‌ها
    access_log /var/log/nginx/example.com-access.log;
    error_log /var/log/nginx/example.com-error.log;
    
    # تنظیمات امنیتی
    server_tokens off;
    
    # بهینه‌سازی
    client_max_body_size 64M;
    
    # مسیر اصلی
    location / {
        try_files $uri $uri/ /index.php?$query_string;
    }
    
    # پردازش PHP
    location ~ \.php$ {
        try_files $uri =404;
        fastcgi_pass unix:/run/php-fpm/www.sock;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        fastcgi_param PATH_INFO $fastcgi_path_info;
        include fastcgi_params;
        
        # تنظیمات بهینه‌سازی
        fastcgi_buffer_size 128k;
        fastcgi_buffers 256 16k;
        fastcgi_busy_buffers_size 256k;
        fastcgi_temp_file_write_size 256k;
        fastcgi_read_timeout 240;
    }
    
    # مسدود کردن فایل‌های .htaccess
    location ~ /\.ht {
        deny all;
    }
    
    # مسدود کردن فایل‌های مخفی
    location ~ /\. {
        deny all;
        access_log off;
        log_not_found off;
    }
    
    # کش فایل‌های استاتیک
    location ~* \.(jpg|jpeg|png|gif|ico|css|js|svg|woff|woff2|ttf|eot)$ {
        expires 1y;
        add_header Cache-Control "public, immutable";
        access_log off;
    }
}

3-7 تست کانفیگ Nginx

nginx -t
خروجی باید:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

4-7 ریستارت Nginx

systemctl restart nginx

8- بهینه‌سازی Nginx

بهینه‌سازی Nginx یکی از مهم‌ترین مراحل برای افزایش سرعت، کاهش مصرف منابع و توانایی پردازش هزاران درخواست همزمان است که از طریق تنظیم پارامترهای حیاتی مانند worker_processes، worker_connections، فعال‌سازی Gzip، تنظیم Buffer ها و فعال‌سازی Cache برای فایل‌های استاتیک انجام می‌شود. این تنظیمات می‌توانند زمان پاسخ‌دهی سرور (TTFB) را تا 70% کاهش دهند، مصرف پهنای باند را با فشرده‌سازی تا 80% کم کنند و ظرفیت سرور را برای سرویس‌دهی به کاربران بیشتر بدون نیاز به ارتقای سخت‌افزار، چندین برابر افزایش دهند. در این بخش، تمام تنظیمات پیشرفته Nginx را در فایل /etc/nginx/nginx.conf به‌صورت عملی و با توضیحات کامل پیاده‌سازی می‌کنیم.
vi /etc/nginx/nginx.conf
تنظیمات بهینه:
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log warn;
pid /run/nginx.pid;

events {
    worker_connections 1024;
    use epoll;
}

http {
    include /etc/nginx/mime.types;
    default_type application/octet-stream;
    
    log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                    '$status $body_bytes_sent "$http_referer" '
                    '"$http_user_agent" "$http_x_forwarded_for"';
    
    access_log /var/log/nginx/access.log main;
    
    sendfile on;
    tcp_nopush on;
    tcp_nodelay on;
    keepalive_timeout 65;
    types_hash_max_size 2048;
    server_tokens off;
    
    # فشرده‌سازی Gzip
    gzip on;
    gzip_vary on;
    gzip_comp_level 5;
    gzip_min_length 256;
    gzip_proxied any;
    gzip_types
        application/atom+xml
        application/javascript
        application/json
        application/ld+json
        application/manifest+json
        application/rss+xml
        application/vnd.geo+json
        application/vnd.ms-fontobject
        application/x-font-ttf
        application/x-web-app-manifest+json
        application/xhtml+xml
        application/xml
        font/opentype
        image/bmp
        image/svg+xml
        image/x-icon
        text/cache-manifest
        text/css
        text/plain
        text/vcard
        text/vnd.rim.location.xloc
        text/vtt
        text/x-component
        text/x-cross-domain-policy;
    
    include /etc/nginx/conf.d/*.conf;
}

9- بهینه‌سازی PHP

بهینه‌سازی PHP شامل تنظیم پارامترهای حیاتی در فایل php.ini و فعال‌سازی OPcache است که می‌تواند سرعت اجرای کدهای PHP را تا 3 برابر افزایش دهد، مصرف CPU را تا 50% کاهش دهد و زمان پاسخ‌دهی اپلیکیشن‌های پرترافیک مانند وردپرس و لاراول را به‌طور چشمگیری بهبود بخشد. با تنظیم صحیح پارامترهایی مانند memory_limit, max_execution_time, upload_max_filesize و فعال‌سازی OPcache که bytecode های PHP را در حافظه کش می‌کند، می‌توانید بدون هیچ تغییری در کد، عملکرد سرور را به حداکثر برسانید و تجربه کاربری بهتری برای بازدیدکنندگان فراهم کنید. در این بخش، تمام تنظیمات توصیه‌شده برای محیط Production را با توضیحات کامل ارائه می‌دهیم.
vi /etc/php.ini
تنظیمات توصیه‌شده:
max_execution_time = 300
max_input_time = 300
memory_limit = 256M
post_max_size = 64M
upload_max_filesize = 64M

date.timezone = Asia/Tehran

opcache.enable=1
opcache.enable_cli=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=2
opcache.fast_shutdown=1
ریستارت PHP-FPM:
systemctl restart php-fpm
💡 بیشتر بدانید: آموزش نصب SSL رایگان با استفاده از LetsEncrypt

10- نصب SSL با Certbot

نصب گواهینامه SSL رایگان با Certbot (ابزار رسمی Let’s Encrypt) یکی از ساده‌ترین و سریع‌ترین روش‌ها برای فعال‌سازی HTTPS روی وب‌سایت است که نه‌تنها امنیت ارتباطات را تضمین می‌کند، بلکه رتبه SEO را بهبود می‌بخشد و اعتماد کاربران را افزایش می‌دهد. Certbot به‌صورت خودکار کانفیگ Nginx را برای استفاده از HTTPS تنظیم می‌کند، گواهینامه را صادر می‌کند و هر 90 روز یک‌بار آن را به‌صورت خودکار تمدید می‌کند، بنابراین پس از نصب اولیه، دیگر نیازی به مدیریت دستی ندارید. در این بخش، مراحل نصب Certbot، دریافت گواهینامه SSL برای یک یا چند دامنه، پیکربندی خودکار Nginx و تست تمدید خودکار را به‌صورت گام‌به‌گام آموزش می‌دهیم.
# نصب Certbot
dnf install certbot python3-certbot-nginx -y

# دریافت SSL برای دامنه
certbot --nginx -d example.com -d www.example.com

# تست تمدید خودکار
certbot renew --dry-run
Certbot به‌طور خودکار کانفیگ Nginx را برای HTTPS تنظیم می‌کند.

تست نهایی معماری LEMP

در این بخش هدف اطمینان از عملکرد صحیح تمام اجزای ساختار نرم‌افزاری LEMP است؛ به‌طوری‌که ارتباط میان Nginx، PHP-FPM و MySQL بدون خطا برقرار باشد. این مرحله کمک می‌کند هرگونه ایراد پنهان در اجرای PHP یا پاسخ‌دهی وب‌سرور قبل از انتشار پروژه شناسایی شود

ساخت فایل phpinfo

vi /var/www/html/example.com/info.php
محتوا:
<?php
phpinfo();
?>

ساخت فایل تست MySQL

vi /var/www/html/example.com/dbtest.php
محتوا:
<?php
$servername = "localhost";
$username = "myuser";
$password = "StrongPassword123!";
$dbname = "myapp";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}
echo "Connected successfully to MySQL!";
$conn->close();
?>

بررسی در مرورگر

http://example.com/info.php
http://example.com/dbtest.php
اگر صفحه اطلاعات PHP و پیام “Connected successfully” نمایش داده شد، نصب موفق بوده است.

حذف فایل‌های تست (امنیت)

rm -f /var/www/html/example.com/info.php
rm -f /var/www/html/example.com/dbtest.php
⚠️ هرگز فایل phpinfo را در production نگه ندارید!

بررسی لاگ‌ها

tail -f /var/log/nginx/error.log
tail -f /var/log/nginx/example.com-error.log
tail -f /var/log/php-fpm/error.log

نمونه موردی: تجربه کاربر

در سال 2025، یکی از مشتریان هاستینگی یک فروشگاه آنلاین پرترافیک داشت که با Apache + mod_php دچار کندی شدید بود. مشکلات اصلی:
  • مصرف RAM بالای 85%
  • زمان پاسخ (TTFB) بیش از 2 ثانیه
  • کرش کردن سرور در ساعات شلوغی
💡 راهکار وب‌داده:
پس از مهاجرت به LEMP Stack روی AlmaLinux 8:
نتایج:
  • مصرف RAM از 85% به 45% کاهش یافت (کاهش 40%)
  • TTFB از 2 ثانیه به 0.4 ثانیه رسید
  • توانایی پردازش 3 برابر بیشتر درخواست همزمان
  • صفر کرش در 6 ماه گذشته
این تجربه نشان می‌دهد که نصب صحیح LEMP می‌تواند تحول چشمگیری ایجاد کند.
نصب و پیکربندی LEMP Stack در CentOS

جدول مقایسه عملکرد LEMP و LAMP

این جدول به شما کمک می‌کند تفاوت‌های کلیدی دو معماری محبوب وب‌سرور را در یک نگاه تشخیص دهید و بر اساس نوع پروژه بهترین گزینه را انتخاب کنید. شناخت این تفاوت‌ها به‌خصوص زمانی اهمیت دارد که میزان ترافیک، نوع اپلیکیشن و نیازهای فنی شما با یکدیگر متفاوت باشد. هدف این بخش ارائه یک مقایسه عملی برای تصمیم‌گیری سریع و آگاهانه است.
ویژگیLEMP (Nginx + PHP-FPM)LAMP (Apache + mod_php)
ساختار پردازشEvent-DrivenProcess-Based
مصرف RAM در حالت Idle~50MB~200MB
مصرف RAM (100 کاربر)~400MB~1200MB
توانایی هندل ترافیک بالاعالی (10k+ همزمان)متوسط (1k همزمان)
سرعت پردازش PHPبالاتر (PHP-FPM)معمولی
سرعت سرویس فایل‌های Staticبسیار سریعمتوسط
مناسب سایت‌های پرترافیکبله ✅با محدودیت ⚠️
پیچیدگی پیکربندیمتوسطآسان
پشتیبانی .htaccessخیر (نیاز به تبدیل)بله
امنیتبالاترمتوسط
مصرف CPU (Load Average)پایین‌تربالاتر
🔸 نتیجه: برای پروژه‌های مدرن PHP مثل وردپرس، لاراول و فروشگاه‌ها، ساختار نرم‌افزاری LEMP انتخاب حرفه‌ای‌تری است.

نتیجه‌گیری نهایی: راهنمای نصب وب سرور LEMP برای CentOS

پیکربندی LEMP روی CentOS/AlmaLinux/Rocky Linux یکی از بهترین روش‌ها برای ساخت یک وب‌سرور سریع، امن، پایدار و مقیاس‌پذیر است. در این راهنمای جامع، شما یاد گرفتید:
  • ✅ چگونه Nginx، PHP-FPM و MariaDB را نصب کنید
  • ✅ چگونه Virtual Host بسازید و پیکربندی کنید
  • ✅ چگونه SELinux و Firewall را به‌درستی تنظیم کنید
  • ✅ چگونه SSL/HTTPS را با Certbot فعال کنید
  • ✅ چگونه عملکرد را بهینه‌سازی کنید
🔹 LEMP تا 40% کمتر از Apache منابع مصرف می‌کند
🔹 PHP-FPM سرعت پردازش را تا 3 برابر افزایش می‌دهد
🔹 Nginx می‌تواند 10,000+ اتصال همزمان را مدیریت کند
🔹 تنظیمات صحیح SELinux حیاتی است (هرگز آن را غیرفعال نکنید!)

استفاده از LEMP برای:

  • ✅ سایت‌های وردپرسی پرترافیک
  • ✅ فروشگاه‌های اینترنتی
  • ✅ اپلیکیشن‌های لاراول
  • ✅ APIهای RESTful
  • ✅ پلتفرم‌های SaaS
  • ✅ سایت‌های خبری و مجله‌ای
در نهایت، اگر به دنبال اجرای یک پروژه بزرگ، پرترافیک یا شرکتی هستید و نمی‌خواهید وقت خود را صرف نصب و پیکربندی کنید، پیشنهاد می‌کنیم از سرورهای مجازی و اختصاصی وب‌داده استفاده کنید تا بهترین عملکرد و پشتیبانی را تجربه کنید.
اگر سوالی درباره نصب، پیکربندی یا مشکلات LEMP دارید، در بخش نظرات با ما در ارتباط باشید. تیم فنی وب‌داده آماده پاسخگویی و راهنمایی شماست.

سوالات متداول از آموزش نصب LEMP (Linux- Nginx – MySQL – PHP) روی CentOS 7

1- آیا LEMP برای وردپرس مناسب است؟

بله، وردپرس روی LEMP بسیار سریع‌تر و پایدارتر اجرا می‌شود. با استفاده از PHP-FPM و کش Nginx، سرعت بارگذاری صفحات تا 3 برابر افزایش می‌یابد.

نرسی مزداب
نرسی مزداب

من نویسنده و تولیدکننده محتوای تخصصی در حوزه هاستینگ هستم که با تمرکز بر کپی‌رایتینگ و ارائه آموزش‌های کاربردی، به ارتقای دانش و مهارت کاربران کمک می‌کنم. سال‌هاست که در زمینه هاستینگ و شبکه فعالیت می‌کنم و همواره تلاش دارم با به‌روزرسانی اطلاعات خود، بهترین و مفیدترین مطالب را برای مخاطبان ارائه دهم.

مقاله‌ها: 120
پاسخی بگذارید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *