خطای Too many open files در cPanel
خطای Error in accept: Too many open files در سرورهای cPanel/WHM زمانی رخ میدهد که تعداد File Descriptors باز شده توسط سرویسهای سرور (Apache، MySQL، Exim و…) به حداکثر مجاز رسیده باشد. این خطا باعث میشود وبسرور نتواند اتصالات جدید بپذیرد و سایتها از دسترس خارج شوند.
علت خطا
سیستمعامل لینوکس برای هر فرآیند محدودیتی در تعداد فایلهای باز (File Descriptors) دارد. این محدودیت شامل فایلهای واقعی، سوکتهای شبکه، لولهها (Pipes) و اتصالات باز میشود. وقتی سرور پرترافیک است، تعداد اتصالات همزمان بالا میرود و به محدودیت میرسد.
بررسی محدودیت فعلی
# محدودیت سیستم
cat /proc/sys/fs/file-max
# محدودیت کاربر فعلی
ulimit -n
# فایلهای باز فعلی
cat /proc/sys/fs/file-nr
# فایلهای باز Apache
lsof -c httpd | wc -l
رفع خطا در cPanel
روش ۱: افزایش محدودیت سیستم
echo "fs.file-max = 500000" >> /etc/sysctl.conf
sysctl -p
روش ۲: افزایش محدودیت کاربر
ویرایش /etc/security/limits.conf:
* soft nofile 65535
* hard nofile 65535
root soft nofile 65535
root hard nofile 65535
nobody soft nofile 65535
nobody hard nofile 65535
روش ۳: تنظیم در systemd
برای Apache در cPanel:
mkdir -p /etc/systemd/system/httpd.service.d
echo -e "[Service]
LimitNOFILE=65535" > /etc/systemd/system/httpd.service.d/limits.conf
systemctl daemon-reload
systemctl restart httpd
روش ۴: تنظیم از WHM
در WHM به Server Configuration > Tweak Settings بروید. مقدار Max open files per Apache child را افزایش دهید.
روش ۵: بهینهسازی Apache
تعداد اتصالات همزمان Apache را بهینه کنید. در EasyApache، تنظیمات MPM (prefork/worker/event) را بررسی و بهینه نمایید. کاهش MaxRequestWorkers و ServerLimit در صورت کمبود RAM توصیه میشود.
مقایسه با دایرکت ادمین
این خطا در سرورهای دایرکت ادمین نیز رخ میدهد. روش رفع مشابه است، فقط مسیر فایلهای systemd و تنظیمات متفاوت است. ما قبلاً رفع این خطا در دایرکت ادمین را آموزش دادهایم.
پیشگیری
استفاده از LiteSpeed به جای Apache میتواند مشکل Too many open files را کاهش دهد. LiteSpeed مصرف منابع کمتری دارد و با تعداد اتصالات بالا بهتر کنار میآید.
اگر سرور شما مرتباً با این خطا مواجه میشود، ارتقا به سرور مجازی با منابع بیشتر توصیه میشود. خدمات کانفیگ سرور میهن هاستینگ شامل بهینهسازی ulimit و تنظیمات وبسرور نیز میشود.
برای سایتهای وردپرسی، هاست وردپرس میهن هاستینگ با LiteSpeed و تنظیمات بهینه این مشکلات را ندارد.
⚙️ بهینهسازی سرور cPanel
رفع خطاهای ulimit، بهینهسازی Apache و WHM توسط تیم فنی میهن هاستینگ.