راهاندازی یک وبسرور پرقدرت و پایدار همیشه یکی از دغدغههای اصلی مدیران سرور و توسعهدهندگان بوده است. ساختار نرمافزاری 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 مجموعهای از چهار نرمافزار اصلی است که کنار یکدیگر یک وبسرور کامل را تشکیل میدهند. Nginx وظیفه سرویسدهی به درخواستهای وب را برعهده دارد، MySQL/MariaDB دادهها را مدیریت میکند و PHP-FPM پردازش کدهای PHP را به شکل جداگانه انجام میدهد. این جداسازی باعث افزایش سرعت و پایداری سرور میشود.
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 بروزرسانی سیستم
Copy
# برای CentOS 7:yumupdate-y# برای CentOS 8+ / AlmaLinux / Rocky Linux:dnfupdate-y
این فرمان تمام بستههای سیستم را به آخرین نسخه پایدار آپدیت میکند. این کار قبل از نصب LEMP ضروری است.
2-1 نصب مخازن EPEL و Remi
Copy
# برای CentOS 7:yuminstallepel-release-yyuminstallhttps://rpms.remirepo.net/enterprise/remi-release-7.rpm-y# برای CentOS 8 / AlmaLinux 8 / Rocky Linux 8:dnfinstallepel-release-ydnfinstallhttps://rpms.remirepo.net/enterprise/remi-release-8.rpm-y# برای AlmaLinux 9 / Rocky Linux 9:dnfinstallepel-release-ydnfinstallhttps://rpms.remirepo.net/enterprise/remi-release-9.rpm-y
این مخازن نسخههای جدید PHP و ابزارهای موردنیاز را فراهم میکنند.
3-1 فعالسازی ماژول PHP مورد نظر
Copy
# برای CentOS 8+:dnfmoduleresetphpdnfmoduleenablephp:remi-8.2-y# برای نصب PHP 8.1:dnfmoduleenablephp:remi-8.1-y# برای CentOS 7:yum-config-manager--enableremi-php82
⚠️ نکته: نسخههای PHP 8.1 و 8.2 در سال 2025 بهترین انتخاب هستند.
2- نصب و پیکربندی Nginx
در این مرحله هدف ایجاد هماهنگی کامل میان وبسرور و پردازشگر PHP است تا درخواستهای کاربران با سریعترین و کممصرفترین شیوه ممکن پردازش شوند. در این بخش یاد میگیرید چطور Nginx را بهعنوان موتور اصلی سروینگ صفحات و PHP-FPM را بهعنوان پردازشگر مستقل راهاندازی و به یکدیگر متصل کنید تا پایهای برای یک محیط میزبانی بهینه و پایدار فراهم شود.
PHP-FPM (FastCGI Process Manager) یک پردازشگر مستقل و بهینهشده برای اجرای کدهای PHP است که برخلاف mod_php در Apache، بهصورت جداگانه از وبسرور کار میکند. این جداسازی باعث میشود Nginx بتواند درخواستهای استاتیک را مستقیماً سرویس دهد و فقط فایلهای PHP را به FPM ارسال کند، در نتیجه مصرف منابع تا 60% کاهش مییابد و سرعت پاسخدهی بهطور محسوسی افزایش پیدا میکند. در این بخش، مراحل نصب PHP-FPM، تنظیم Pool برای هر وبسایت، پیکربندی اتصال Socket با Nginx و بهینهسازی Process Manager را بهصورت عملی و گامبهگام آموزش میدهیم.
SELinux در CentOS بهصورت پیشفرض فعال است و باید تنظیمات لازم را انجام دهید:
Copy
={IMPORTXML("https://webdade.com/post-sitemap1.xml","//*[local-name() = 'url']/*[local-name() = 'loc']");IMPORTXML("https://webdade.com/post-sitemap2.xml","//*[local-name() = 'ur# فعالسازی اتصال شبکه برای Nginxsetsebool -P httpd_can_network_connect 1# اجازه اجرای حافظه برای PHPsetsebool -P httpd_execmem 1# تنظیم context برای فایلهای وبchcon -R -t httpd_sys_content_t /var/www/html/# اجازه اتصال به databasesetsebool -P httpd_can_network_connect_db 1# بررسی وضعیت SELinuxgetenforcel']/*[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
Copy
# باز کردن پورت HTTPfirewall-cmd--permanent--add-service=http# باز کردن پورت HTTPSfirewall-cmd--permanent--add-service=https# اعمال تغییراتfirewall-cmd--reload# بررسی وضعیتfirewall-cmd--list-all
6- نصب و پیکربندی MySQL/MariaDB
در این مرحله هدف ایجاد یک پایگاهداده امن، پایدار و بهینه است؛ جایی که اطلاعات حساس اپلیکیشن ذخیره میشود و باید زیرساخت آن بدون ضعف و خطا باشد. تمرکز اصلی این بخش بر نصب درست سرویس، ایمنسازی اولیه و ساخت ساختارهای موردنیاز برای اجرای پروژههای PHP است.
Virtual Host در Nginx به شما امکان میدهد چندین وبسایت با دامنههای مختلف را روی یک سرور واحد میزبانی کنید، بهطوریکه هر سایت دارای تنظیمات، مسیر فایل، لاگ و پیکربندی مستقل خود باشد. در Nginx این قابلیت از طریق ایجاد فایلهای کانفیگ جداگانه در مسیر /etc/nginx/conf.d/ با ساختار server {} block پیادهسازی میشود و به شما کنترل کامل بر روی هر دامنه، از تنظیمات SSL و PHP-FPM گرفته تا قوانین Rewrite و Cache را میدهد. در این بخش، مراحل ساخت یک Virtual Host کامل، امن و بهینهشده برای اجرای اپلیکیشنهای PHP مانند وردپرس و لاراول را بهصورت عملی آموزش میدهیم.
بهینهسازی Nginx یکی از مهمترین مراحل برای افزایش سرعت، کاهش مصرف منابع و توانایی پردازش هزاران درخواست همزمان است که از طریق تنظیم پارامترهای حیاتی مانند worker_processes، worker_connections، فعالسازی Gzip، تنظیم Buffer ها و فعالسازی Cache برای فایلهای استاتیک انجام میشود. این تنظیمات میتوانند زمان پاسخدهی سرور (TTFB) را تا 70% کاهش دهند، مصرف پهنای باند را با فشردهسازی تا 80% کم کنند و ظرفیت سرور را برای سرویسدهی به کاربران بیشتر بدون نیاز به ارتقای سختافزار، چندین برابر افزایش دهند. در این بخش، تمام تنظیمات پیشرفته Nginx را در فایل /etc/nginx/nginx.conf بهصورت عملی و با توضیحات کامل پیادهسازی میکنیم.
بهینهسازی PHP شامل تنظیم پارامترهای حیاتی در فایل php.ini و فعالسازی OPcache است که میتواند سرعت اجرای کدهای PHP را تا 3 برابر افزایش دهد، مصرف CPU را تا 50% کاهش دهد و زمان پاسخدهی اپلیکیشنهای پرترافیک مانند وردپرس و لاراول را بهطور چشمگیری بهبود بخشد. با تنظیم صحیح پارامترهایی مانند memory_limit, max_execution_time, upload_max_filesize و فعالسازی OPcache که bytecode های PHP را در حافظه کش میکند، میتوانید بدون هیچ تغییری در کد، عملکرد سرور را به حداکثر برسانید و تجربه کاربری بهتری برای بازدیدکنندگان فراهم کنید. در این بخش، تمام تنظیمات توصیهشده برای محیط Production را با توضیحات کامل ارائه میدهیم.
💡 بیشتر بدانید: آموزش نصب SSL رایگان با استفاده از LetsEncrypt
10- نصب SSL با Certbot
نصب گواهینامه SSL رایگان با Certbot (ابزار رسمی Let’s Encrypt) یکی از سادهترین و سریعترین روشها برای فعالسازی HTTPS روی وبسایت است که نهتنها امنیت ارتباطات را تضمین میکند، بلکه رتبه SEO را بهبود میبخشد و اعتماد کاربران را افزایش میدهد. Certbot بهصورت خودکار کانفیگ Nginx را برای استفاده از HTTPS تنظیم میکند، گواهینامه را صادر میکند و هر 90 روز یکبار آن را بهصورت خودکار تمدید میکند، بنابراین پس از نصب اولیه، دیگر نیازی به مدیریت دستی ندارید. در این بخش، مراحل نصب Certbot، دریافت گواهینامه SSL برای یک یا چند دامنه، پیکربندی خودکار Nginx و تست تمدید خودکار را بهصورت گامبهگام آموزش میدهیم.
Copy
# نصب Certbotdnfinstallcertbotpython3-certbot-nginx-y# دریافت SSL برای دامنهcertbot--nginx-dexample.com-dwww.example.com# تست تمدید خودکارcertbotrenew--dry-run
Certbot بهطور خودکار کانفیگ Nginx را برای HTTPS تنظیم میکند.
تست نهایی معماری LEMP
در این بخش هدف اطمینان از عملکرد صحیح تمام اجزای ساختار نرمافزاری LEMP است؛ بهطوریکه ارتباط میان Nginx، PHP-FPM و MySQL بدون خطا برقرار باشد. این مرحله کمک میکند هرگونه ایراد پنهان در اجرای PHP یا پاسخدهی وبسرور قبل از انتشار پروژه شناسایی شود
در سال 2025، یکی از مشتریان هاستینگی یک فروشگاه آنلاین پرترافیک داشت که با Apache + mod_php دچار کندی شدید بود. مشکلات اصلی:
مصرف RAM بالای 85%
زمان پاسخ (TTFB) بیش از 2 ثانیه
کرش کردن سرور در ساعات شلوغی
💡 راهکار وبداده:
پس از مهاجرت به LEMP Stack روی AlmaLinux 8: ✅ نتایج:
مصرف RAM از 85% به 45% کاهش یافت (کاهش 40%)
TTFB از 2 ثانیه به 0.4 ثانیه رسید
توانایی پردازش 3 برابر بیشتر درخواست همزمان
صفر کرش در 6 ماه گذشته
این تجربه نشان میدهد که نصب صحیح LEMP میتواند تحول چشمگیری ایجاد کند.
جدول مقایسه عملکرد LEMP و LAMP
این جدول به شما کمک میکند تفاوتهای کلیدی دو معماری محبوب وبسرور را در یک نگاه تشخیص دهید و بر اساس نوع پروژه بهترین گزینه را انتخاب کنید. شناخت این تفاوتها بهخصوص زمانی اهمیت دارد که میزان ترافیک، نوع اپلیکیشن و نیازهای فنی شما با یکدیگر متفاوت باشد. هدف این بخش ارائه یک مقایسه عملی برای تصمیمگیری سریع و آگاهانه است.
ویژگی
LEMP (Nginx + PHP-FPM)
LAMP (Apache + mod_php)
ساختار پردازش
Event-Driven
Process-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 برابر افزایش مییابد.
2- آیا Nginx بهتر از Apache است؟
برای سایتهای پرترافیک، APIها و محتوای Static، Nginx عملکرد بهتری دارد. اما Apache برای برخی اپلیکیشنهای خاص که نیاز به .htaccess دارند، راحتتر است.
من نویسنده و تولیدکننده محتوای تخصصی در حوزه هاستینگ هستم که با تمرکز بر کپیرایتینگ و ارائه آموزشهای کاربردی، به ارتقای دانش و مهارت کاربران کمک میکنم. سالهاست که در زمینه هاستینگ و شبکه فعالیت میکنم و همواره تلاش دارم با بهروزرسانی اطلاعات خود، بهترین و مفیدترین مطالب را برای مخاطبان ارائه دهم.