فعالسازی HTTP/2 در Nginx و تأثیر آن بر سرعت
HTTP/2 با مالتیپلکسینگ و هدر فشرده، بارگذاری صفحات را سریعتر میکند؛ فعالسازی آن ساده است.
آخرین بهروزرسانی: ۲۸ مهر ۱۴۰۵ · زمان مطالعه: حدود 3 دقیقه · سطح: کاربردی
- فعالسازی HTTP/2 در Nginx و تأثیر آن بر سرعت
- نسخه Nginx را بررسی کنید
- برای HTTP/3 به نسخه و QUIC نیاز دارید
چرا این موضوع مهم است؟
موضوع Performance یکی از پایههای نگهداری سرور است. رعایت آن باعث پایداری بیشتر، کاهش ریسک امنیتی و صرفهجویی در زمان پشتیبانی میشود.
این راهنما با فرض دسترسی مدیریتی (root یا sudo) نوشته شده و مراحل آن روی یک سرور تازه آزمایش شده است.
پیشنیازها
- دسترسی SSH با کاربر root یا کاربر دارای sudo
- Ubuntu 22.04/24.04 یا Debian 12 (سازگاری با توزیعهای مشابه)
- نسخه پشتیبان از فایلها و دیتابیسهای مهم
راهنمای گامبهگام
گام 1 — نسخه Nginx را بررسی کنید
نسخه Nginx را بررسی کنید. این مرحله را با دقت انجام دهید و خروجی دستور را بررسی کنید تا از اعمال درست تغییرات مطمئن شوید.
گام 2 — SSL را فعال کنید چون HTTP/2 روی HTTPS است
SSL را فعال کنید چون HTTP/2 روی HTTPS است. پس از اجرا، وضعیت سرویس و لاگها را کنترل کنید؛ تغییر بدون بررسی میتواند خطای پنهان ایجاد کند.
گام 3 — در listen مقدار http2 را اضافه کنید
در listen مقدار http2 را اضافه کنید. اگر روی چند سرور کار میکنید، این مورد را یکبار روی محیط تست اجرا و سپس روی تولید اعمال کنید.
گام 4 — پیکربندی را تست و reload کنید
پیکربندی را تست و reload کنید. مقدارهای نمونه را با اطلاعات واقعی سرور خود جایگزین کنید و از اجرای دستور با مقادیر پیشفرض پرهیز کنید.
گام 5 — با ابزار مرورگر پروتکل را تأیید کنید
با ابزار مرورگر پروتکل را تأیید کنید. برای اطمینان، نتیجه را از یک مسیر دوم (مرورگر، کلاینت یا ابزار مانیتورینگ) هم بررسی کنید.
گام 6 — برای HTTP/3 به نسخه و QUIC نیاز دارید
برای HTTP/3 به نسخه و QUIC نیاز دارید. این کار را در بازه کمترافیک انجام دهید و در صورت نیاز کاربران را از قبل مطلع کنید.
نمونه دستورها
listen 443 ssl http2;
listen [::]:443 ssl http2;
sudo nginx -t && sudo systemctl reload nginxنکات امنیتی و بهینهسازی
- دسترسیها را حداقلی نگه دارید و فقط پورتها و کاربران لازم را باز بگذارید.
- پیش از هر تغییر بزرگ، نسخه پشتیبان قابل بازیابی تهیه کنید و بازیابی را تست کنید.
- نسخه پکیجها و سیستمعامل را بهروز نگه دارید؛ بسیاری از نفوذها از نسخههای قدیمی شروع میشوند.
خطاهای رایج و راهحل
- اگر سرویس بالا نیامد، ابتدا journalctl و فایل خطای همان سرویس را بخوانید.
- خطای اتصال شبکه را با dig، ping و ss بررسی کنید؛ ممکن است فایروال یا DNS مقصر باشد.
- اگر سرویس بالا نیامد، ابتدا journalctl و فایل خطای همان سرویس را بخوانید.
سؤالات متداول
HTTP/2 بدون SSL کار میکند؟
مرورگرها آن را فقط روی HTTPS پشتیبانی میکنند؛ ابتدا SSL را فعال کنید.
HTTP/3 هم لازم است؟
برای بیشتر سایتها HTTP/2 کافی است؛ HTTP/3 مزیت اصلی در شبکههای موبایل ناپایدار است.
میلاد سرور پلنهای اقتصادی سرور مجازی ایران و سرور مجازی آلمان را با آیپی اختصاصی و قیمت شفاف ارائه میکند. برای مقایسه همه کشورها فهرست کامل سرورهای بینالملل را ببینید.
جمعبندی
با رعایت این مراحل، سرویس شما پایدارتر و امنتر خواهد بود؛ اما پایش منظم را فراموش نکنید.