آموزش فعال‌سازی قابلیت Resuming Downloads در آپاچی روی دبیان

فعال‌سازی قابلیت Resuming Downloads و دانلود چند نخی در سرور آپاچی روی دبیان با راهنمای کامل و تنظیمات بهینه‌سازی برای افزایش سرعت دانلود کاربران....

انتشار: , زمان مطالعه: 5 دقیقه
آموزش فعال‌سازی قابلیت Resuming Downloads در آپاچی روی دبیان
دسته بندی: سیستم عامل تعداد بازدید: 57

سرور آپاچی (Apache HTTP Server) یکی از پرکاربردترین و محبوب‌ترین سرورهای وب در جهان است که به دلیل انعطاف‌پذیری بالا، ابزارهای گسترده و پشتیبانی از پروتکل‌های مختلف، انتخاب بسیاری از مدیران سیستم و توسعه‌دهندگان محسوب می‌شود. در این مقاله، مراحل کامل راه‌اندازی سرور آپاچی روی سیستم‌عامل دبیان و فعال‌سازی قابلیت دانلود چند نخی (Multithreading) و ازسرگیری دانلود (Resuming Downloads) را بررسی می‌کنیم.

در دنیای وب، کاربران معمولاً از مرورگرها و نرم‌افزارهای مدیریت دانلود برای دریافت فایل‌ها استفاده می‌کنند. یکی از امکاناتی که تجربه کاربری دانلود را بهبود می‌بخشد، قابلیت ازسرگیری دانلود (Resume Download) و پشتیبانی از دانلود چند نخی است. این قابلیت‌ها امکان می‌دهند کاربر:

  1. دانلود فایل‌ها را پس از قطع ارتباط ادامه دهد.
  2. دانلود فایل‌ها را با استفاده از چندین کانکشن همزمان انجام دهد که به کاهش زمان دانلود کمک می‌کند.

در سرور آپاچی، این قابلیت‌ها با پیکربندی صحیح هدرهای HTTP و استفاده از ماژول‌های خاص ممکن می‌شود.

پیش‌نیازها

برای اجرای این پروژه به ابزارها و موارد زیر نیاز دارید:

  • یک سیستم‌عامل دبیان (Debian) یا توزیع مبتنی بر آن مانند Ubuntu.
  • دسترسی به کاربر دارای مجوز sudo.
  • دسترسی به خط فرمان (Terminal).

مرحله اول: نصب و پیکربندی آپاچی

نصب سرور آپاچی

برای نصب آپاچی بر روی دبیان، دستور زیر را اجرا کنید:

sudo apt update
sudo apt install apache2 -y

پس از نصب، وضعیت سرور آپاچی را بررسی کنید:

sudo systemctl status apache2

اگر آپاچی شما به درستی اجرا شده باشد عبارت active (running) مانند تصویر زیر را مشاهده خواهید کرد .

پس از نصب، وضعیت سرور آپاچی را بررسی کنید:

اگر آپاچی اجرا نمی‌شود، با دستور زیر آن را فعال کنید:

sudo systemctl enable --now apache2

 فعال‌سازی سرویس برای راه‌اندازی خودکار

برای اطمینان از اینکه آپاچی پس از ریست سیستم به‌طور خودکار اجرا می‌شود، دستور زیر را وارد کنید:

sudo systemctl enable apache2

مرحله دوم: فعال‌سازی قابلیت Resuming Downloads

پشتیبانی از HTTP Range Requests

HTTP Range Requests به کاربران اجازه می‌دهد فایل‌ها را از نقطه‌ای خاص دانلود کنند. این قابلیت برای Resuming Downloads ضروری است.

ابتدا ماژول‌های موردنیاز را فعال کنید:

sudo a2enmod headers
sudo a2enmod mime

 تنظیم فایل پیکربندی

اطمینان حاصل کنید که هدرهای لازم برای پشتیبانی از HTTP Range Requests فعال هستند:

فایل میزبان پیش‌فرض آپاچی را ویرایش کنید:

sudo nano /etc/apache2/sites-available/000-default.conf

بخش زیر را به فایل اضافه کنید:

<Directory /var/www/html>
    Header set Accept-Ranges bytes
</Directory>

مانند تصویر زیر

تنظیم فایل پیکربندی آپاچی

بررسی قابلیت Resuming Downloads

برای اطمینان از فعال بودن این قابلیت، می‌توانید از ابزارهایی مانند curl استفاده کنید:

curl -I -r 0-100 http://your_server_ip/your_file

اگر پاسخ شامل هدر 206 Partial Content بود، قابلیت Resuming فعال است.

2. بررسی قابلیت Resuming Downloads

مرحله سوم: فعال‌سازی Multithreading با MPM Modules

قابلیت Multithreading به کاربران اجازه می‌دهد فایل‌ها را با چندین کانکشن همزمان دانلود کنند. برای فعال‌سازی این قابلیت در آپاچی، باید از تنظیمات ماژول‌های خاصی استفاده کنید.

مفهوم MPM Modules

Apache MPM (Multi-Processing Module) مسئول مدیریت نحوه رسیدگی به درخواست‌ها توسط سرور است. ماژول mpm_event برای مدیریت اتصالات همزمان (Multithreading) بهینه است.

فعال‌سازی mpm_event

ابتدا ماژول mpm_event را فعال کنید:

sudo a2enmod mpm_event

سایر ماژول‌های MPM را غیرفعال کنید:

sudo a2dismod mpm_prefork
sudo a2dismod mpm_worker

 

 تنظیمات بهینه‌سازی mpm_event

برای بهینه‌سازی عملکرد، فایل پیکربندی mpm_event را تنظیم کنید:

فایل زیر را باز کنید:

sudo nano /etc/apache2/mods-available/mpm_event.conf

مقادیر زیر را بسته به منابع سرور خود تنظیم کنید:

<IfModule mpm_event_module>
        StartServers                     2
        MinSpareThreads          25
        MaxSpareThreads          75
        ThreadLimit                      64
        ThreadsPerChild          25
        MaxRequestWorkers         150
        MaxConnectionsPerChild   0
</IfModule>

 مرحله چهارم: بهینه‌سازی عملکرد سرور

فایل تنظیمات آپاچی را باز کنید:

sudo nano /etc/apache2/apache2.conf

مقادیر زیر را تنظیم کنید:

KeepAlive Off
MaxKeepAliveRequests 50
KeepAliveTimeout 2

 استفاده از فشرده‌سازی

برای کاهش حجم فایل‌های متنی و بهبود زمان دانلود، ماژول mod_deflate را فعال کنید:

sudo a2enmod deflate

در نهایت سرور آپاچی را راه‌اندازی مجدد کنید:

sudo systemctl restart apache2

 


دیدگاه های مربوط به این مقاله (برای ارسال دیدگاه در سایت حتما باید عضو باشید و پروفایل کاربری شما تکمیل شده باشد)