CodeShot
Apache1 دقیقه مطالعه

Apache چیست؟

یکی از قدیمی‌ترین و پرکاربردترین وب‌سرورهای دنیا (Apache HTTP Server)، با معماری Process/Thread-per-Request و سیستم Module غنی (mod_php، mod_rewrite).

چرا مهم است؟

با اینکه Nginx در پروژه‌های جدید محبوب‌تر شده، Apache هنوز پایه بسیار زیادی از هاستینگ‌های اشتراکی و پروژه‌های PHP/WordPress است؛ آشنایی با آن برای کار روی چنین زیرساخت‌هایی لازم است.

تعریف

Apache HTTP Server (معروف به httpd) یک وب‌سرور متن‌باز است که برخلاف معماری رویدادمحور Nginx، به‌صورت سنتی برای هر درخواست یک Process یا Thread اختصاص می‌دهد و رفتارش با فایل پیکربندی .htaccess در هر پوشه قابل تغییر است.

مثال: Virtual Host ساده

<VirtualHost *:80>
    ServerName example.com
    DocumentRoot /var/www/example
    <Directory /var/www/example>
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

تفاوت کلیدی با Nginx

  • .htaccess: Apache اجازه می‌دهد پیکربندی per-directory در خود پوشه سایت باشد؛ Nginx چنین مکانیزمی ندارد (همه‌چیز مرکزی است) که باعث کارایی بهتر Nginx می‌شود.
  • مصرف منابع زیر بار سنگین: مدل Thread/Process-per-Request Apache زیر ترافیک بسیار بالا معمولاً حافظه بیشتری نسبت به مدل رویدادمحور Nginx مصرف می‌کند.

اشتباه رایج

❌ فعال نگه‌داشتن Moduleهای استفاده‌نشده (مثل mod_php روی سروری که PHP اجرا نمی‌کند) — هر Module فعال هم مصرف حافظه و هم سطح حمله امنیتی را بالا می‌برد.

منبع و مطالعه بیشتر

خلاصه

Apache یک وب‌سرور با معماری Process/Thread-per-Request و پیکربندی per-directory از طریق .htaccess است. فقط Moduleهایی که واقعاً استفاده می‌شوند را فعال نگه دارید. مرجع کامل: مستندات رسمی Apache HTTP Server.

این مطلب مفید بود؟
نشان کردن
مشاهده در Concept Hub ←