وب سرور Nginx

آشنایی با Nginx: وب‌سروری قدرتمند و چندمنظوره

مقدمه

در دنیای وب امروز، وجود یک وب‌سرور کارآمد برای ارائه سریع و امن محتوا به کاربران امری ضروری است. Nginx به عنوان یکی از محبوب‌ترین وب‌سرورها، به دلیل سرعت بالا، مقیاس‌پذیری عالی و انعطاف‌پذیری در پیکربندی، مورد توجه مدیران سایت‌ها و توسعه‌دهندگان قرار گرفته است. در این مقاله، به بررسی Nginx، ویژگی‌های بارز آن و نحوه نصب و پیکربندی در توزیع‌های مختلف لینوکس می‌پردازیم.

Nginx چیست؟

Nginx یک وب‌سرور سبک و سریع است که علاوه بر ارائه سرویس‌های HTTP، به عنوان پروکسی معکوس (Reverse Proxy)، مدیر بار (Load Balancer) و کَشینگ سرور (Caching Server) نیز عمل می‌کند. این قابلیت‌ها به Nginx اجازه می‌دهد تا با حجم بالای ترافیک به خوبی کار کند و برای پروژه‌های کوچک و بزرگ مناسب باشد.

دلایل محبوبیت Nginx

  • سرعت و عملکرد بالا: با استفاده از معماری غیرهمزمان (Asynchronous)، Nginx قادر است هزاران درخواست همزمان را بدون کاهش کارایی پردازش کند.

  • مقیاس‌پذیری فوق‌العاده: این وب‌سرور به سادگی می‌تواند ترافیک سنگین را مدیریت کرده و بدون تغییرات اساسی در پیکربندی، عملکرد خود را افزایش دهد.

  • پشتیبانی از پروتکل‌های مدرن: Nginx از HTTP/2 و HTTPS پشتیبانی می‌کند که به ارتقای سرعت و امنیت انتقال داده‌ها کمک می‌کند.

  • پیکربندی ساده و انعطاف‌پذیر: فایل‌های پیکربندی Nginx به گونه‌ای طراحی شده‌اند که امکان اعمال تنظیمات پیشرفته به راحتی فراهم باشد.

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

۱. نصب در Debian/Ubuntu

ابتدا سیستم خود را به‌روز کنید و سپس Nginx را نصب کنید:

sudo apt update
sudo apt upgrade
sudo apt install nginx

پس از نصب می‌توانید با دستور زیر نسخه Nginx را بررسی کنید:

nginx -v

۲. نصب در CentOS/RHEL

برای نصب Nginx در CentOS یا RHEL، ابتدا مخزن EPEL را فعال کنید و سپس Nginx را نصب نمایید:

sudo yum install epel-release
sudo yum install nginx

برای شروع سرویس:

sudo systemctl start nginx

و برای فعال‌سازی خودکار در بوت:

sudo systemctl enable nginx

۳. نصب در Fedora

در Fedora نصب Nginx بسیار ساده است:

sudo dnf install nginx

سپس سرویس را راه‌اندازی و وضعیت آن را بررسی کنید:

sudo systemctl start nginx
sudo systemctl status nginx

۴. نصب در Arch Linux

در Arch Linux نیز با استفاده از مدیر بسته Pacman می‌توانید Nginx را نصب کنید:

sudo pacman -S nginx

سپس سرویس Nginx را اجرا و فعال کنید:

sudo systemctl start nginx
sudo systemctl enable nginx

راه‌اندازی و پیکربندی اولیه Nginx

به‌روزرسانی و مدیریت سرویس

پس از نصب، می‌توانید با استفاده از دستورات زیر وضعیت سرویس را بررسی کرده و آن را مدیریت کنید:

  • راه‌اندازی سرویس:

    sudo systemctl start nginx
  • بررسی وضعیت:

    sudo systemctl status nginx
  • فعال‌سازی اجرای خودکار در زمان بوت:

    sudo systemctl enable nginx

تست نصب

برای اطمینان از نصب صحیح Nginx، مرورگر خود را باز کرده و به آدرس http://localhost یا آدرس IP سرور مراجعه کنید. صفحه پیش‌فرض Nginx در صورت نصب موفق نمایش داده خواهد شد.

پیکربندی سایت‌ها

فایل‌های پیکربندی Nginx به دو دسته تقسیم می‌شوند:

  • فایل اصلی پیکربندی:
    مسیر: /etc/nginx/nginx.conf

  • تنظیمات سایت‌ها:
    مسیرهای /etc/nginx/sites-available و /etc/nginx/sites-enabled
    فایل‌ها در پوشه sites-available نگهداری شده و با ایجاد لینک سمبلیک به sites-enabled فعال می‌شوند.

مثال: ایجاد یک سایت جدید

  1. به پوشه تنظیمات سایت‌ها بروید:

    cd /etc/nginx/sites-available
  2. یک فایل پیکربندی جدید بسازید:

    sudo nano mysite.conf
  3. تنظیمات زیر را وارد کنید:

    server {
    listen ۸۰;
    server_name mysite.com www.mysite.com;
    root /var/www/mysite;
    index index.html;

    location / {
    try_files $uri $uri/ =۴۰۴;
    }
    }

  4. برای فعال کردن سایت، لینک سمبلیک بسازید:

    sudo ln -s /etc/nginx/sites-available/mysite.conf /etc/nginx/sites-enabled/

افزودن پشتیبانی از HTTPS

برای افزایش امنیت، توصیه می‌شود HTTPS را به سایت خود اضافه کنید. با استفاده از Certbot این کار بسیار ساده است:

  1. نصب Certbot و افزونه Nginx:

    sudo apt install certbot python3-certbot-nginx # برای Debian/Ubuntu

    یا در CentOS/RHEL:

    sudo yum install certbot python3-certbot-nginx
  2. دریافت گواهی SSL:

    sudo certbot --nginx -d mysite.com -d www.mysite.com
  3. تنظیم تمدید خودکار گواهی:

    sudo systemctl enable certbot.timer

نکات پیشرفته در پیکربندی Nginx

۱. Load Balancing (تعادل بار)

برای توزیع ترافیک بین چندین سرور پشتیبان، می‌توانید از تنظیمات upstream استفاده کنید:

http {
upstream backend {
server backend1.example.com;
server backend2.example.com;
}
server {
listen ۸۰;
location / {
proxy_pass http://backend;
}
}
}

۲. کشینگ محتوا

بهبود سرعت بارگذاری سایت با فعال‌سازی کشینگ برای فایل‌های استاتیک:

location /static/ {
expires 30d;
add_header Cache-Control "public";
}

نتیجه‌گیری

در این مقاله، با Nginx آشنا شدیم و دلایل محبوبیت آن را بررسی کردیم. همچنین نحوه نصب و پیکربندی اولیه به همراه آموزش نصب در توزیع‌های مختلف لینوکس مانند Debian/Ubuntu، CentOS/RHEL، Fedora و Arch Linux ارائه شد. با بهره‌گیری از امکانات پیشرفته‌ای همچون تعادل بار و کشینگ، Nginx ابزاری قدرتمند برای مدیریت سایت‌ها و برنامه‌های تحت وب محسوب می‌شود. برای اطلاعات بیشتر و تنظیمات پیشرفته‌تر، مطالعه مستندات رسمی Nginx توصیه می‌شود.


این مقاله می‌تواند به عنوان یک راهنمای جامع برای کسانی که می‌خواهند با Nginx کار کنند، به کار گرفته شود. امیدوارم اطلاعات مفید واقع شود و به شما در راه‌اندازی و بهینه‌سازی وب‌سرورتان کمک کند.

5 1 رای
امتیازدهی به مقاله
اشتراک در
اطلاع از
guest

0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها