آموزش کامل نصب و راه‌اندازی وب سرور Apache و Nginx روی لینوکس

به انجمن تخصصی وبمستران خوش آمدید!

با عضویت در انجمن، به محتوای اختصاصی ویژه وبمستران دسترسی داشته باشید و از امکانات بی نظیر اعضای انجمن بهره مند شوید.

همین الان عضو شوید!

آموزش کامل نصب و راه‌اندازی وب سرور Apache و Nginx روی لینوکس

Ahmad

احمدرضا کریمی خالدی
پرسنل مدیریت
مدیریت کل
عضو انجمن
عضو پرمیوم
3 1 4
نوشته‌ها
220
امتیاز پسند
0
امتیازها
936
جایزه‌ها
5
سن
30
محل سکونت
اصفهان
اعتبار
15,390‌ سکه
  • موضوع نویسنده
  • #1

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


در دنیای میزبانی وب، انتخاب یک وب سرور پایدار و بهینه بسیار حیاتی است. دو وب سرور پرطرفدار آپاچی (Apache) و انجین‌ایکس (Nginx)، بخش عمده‌ای از سایت‌های اینترنتی را پشتیبانی می‌کنند. یادگیری نصب و راه‌اندازی صحیح هرکدام از این وب سرورها، هم برای وبمستران تازه‌کار و هم متخصصان زیرساخت شبکه، یک ضرورت فنی به شمار می‌آید.

آشنایی با Apache و Nginx


وب‌ سرور Apache


وب سرور Apache HTTP Server یکی از قدیمی‌ترین، انعطاف‌پذیرترین و پرکاربردترین وب سرورهای دنیاست که امکانات گسترده‌ای جهت مدیریت وب‌سایت‌های دینامیک و استاتیک ارائه می‌دهد. قابلیت سفارشی سازی بالا و طیف وسیع ماژول‌ها از نقاط قوت اصلی آن است.

وب‌ سرور Nginx


وب سرور Nginx با رویکرد عملکرد بالا و مصرف منابع پایین، جایگاهی ویژه در پروژه‌های مدرن پیدا کرده است. این وب‌ سرور به عنوان یک reverse proxy و load balancer نیز مورد استفاده قرار می‌گیرد و توانایی پاسخگویی به درخواست‌های بالا و مدیریت هم‌زمان اتصالات متعدد را دارد.

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


قبل از نصب هر یک از وب سرورها، داشتن یک سرور لینوکسی به همراه دسترسی root یا کاربری با قابلیت sudo ضروری است. همچنین باید سرور را به‌روزرسانی کنید:
کد:
sudo apt update && sudo apt upgrade
این دستور برای توزیع‌های Ubuntu و Debian است. در CentOS یا RedHat از yum update استفاده کنید.

نحوه نصب Apache روی لینوکس


نصب در توزیع‌های مبتنی بر Debian/Ubuntu


کد:
sudo apt install apache2
پس از نصب می‌توانید با دستور زیر وضعیت سرویس را بررسی کنید:
کد:
sudo systemctl status apache2

نصب در توزیع‌های مبتنی بر CentOS/RedHat/AlmaLinux


کد:
sudo yum install httpd
sudo systemctl start httpd
sudo systemctl enable httpd

مدیریت سرویس Apache


  • شروع سرویس: sudo systemctl start apache2 یا sudo systemctl start httpd
  • توقف سرویس: sudo systemctl stop apache2 یا sudo systemctl stop httpd
  • ریستارت: sudo systemctl restart apache2 یا sudo systemctl restart httpd

آزمایش نصب Apache


بعد از نصب، با وارد کردن آدرس IP یا دامنه سرور در مرورگر، باید صفحه پیش‌فرض Apache را مشاهده کنید. مسیر پیش‌فرض فایل‌های سایت:
کد:
/var/www/html

نحوه نصب Nginx روی لینوکس


نصب در توزیع‌های مبتنی بر Debian/Ubuntu


کد:
sudo apt install nginx
پس از نصب با دستور زیر وضعیت سرویس را چک کنید:
کد:
sudo systemctl status nginx

نصب در توزیع‌های مبتنی بر CentOS/RedHat/AlmaLinux


کد:
sudo yum install nginx
sudo systemctl start nginx
sudo systemctl enable nginx

مدیریت سرویس Nginx


  • شروع سرویس: sudo systemctl start nginx
  • توقف سرویس: sudo systemctl stop nginx
  • ریستارت: sudo systemctl restart nginx

آزمایش نصب Nginx


پس از نصب، اگر آی‌پی سرور یا دامنه را در مرورگر وارد کنید باید صفحه پیش‌فرض Nginx را ببینید. مسیر پیش‌فرض فایل‌های سایت:
کد:
/usr/share/nginx/html

تنظیمات اولیه امنیتی پس از نصب


  • فعال‌سازی فایروال و باز کردن پورت 80 و 443:
    کد:
    sudo ufw allow 'Apache Full'
    sudo ufw allow 'Nginx Full'
  • تنظیم رمز عبور برای پوشه‌های خاص با استفاده از htpasswd و auth_basic.
  • غیرفعال کردن ماژول‌ها یا تنظیمات غیرضروری سرور

جدول مقایسه Apache و Nginx


ویژگیApacheNginx
نحوه عملکردفرآیند محور (process-based)رویداد محور (event-based)
مصرف منابعنسبتاً زیادبسیار کم
مناسب برایوبسایت‌های داینامیک و ماژول‌محوروبسایت‌های استاتیک و پرترافیک
پشتیبانی از htaccessداردندارد
پیکربندی ساده SSLبلهبله

استفاده ترکیبی (Reverse Proxy)؛ نکته حرفه‌ای


بسیاری از وبمستران حرفه‌ای از ترکیب Nginx به عنوان reverse proxy و Apache به عنوان backend استفاده می‌کنند؛ در این ساختار، Nginx درخواست‌ها را دریافت و به آپاچی ارسال می‌کند تا هم بهره‌وری و هم امنیت افزایش یابد.

جمع‌بندی و پیشنهادات تکمیلی


انتخاب بین Apache و Nginx وابسته به نوع پروژه و نیازهای شماست. اگر به دنبال سازگاری بی‌دردسر با اسکریپت‌های PHP و کنترل .htaccess هستید، Apache انتخاب بهتری است. برای سایت‌های پرترافیک یا نیازمند منابع کمتر، Nginx گزینه عالی است. همچنین می‌توانید ترکیب هر دو را برای کارایی حداکثری سایت خود به‌کار گیرید. برای آموزش‌های بیشتر و دریافت راهنمایی‌های تخصصی در زمینه سرور و میزبانی وب، انجمن احمدرضا کریمی (لینک: انجمن تخصصی وبمستران) و سایت اصلی (لینک: صفحه اصلی) توصیه می‌شود.
 
بازگشت
بالا پایین