سفارشی‌سازی NGINX با Reverse Proxy در cPanel & WHM

این مقاله روش‌های سفارشی‌سازی NGINX با Reverse Proxy در cPanel & WHM را توضیح می‌دهد. شامل تنظیمات Global Configuration، فایل‌های پیکربندی، Server Blockها، پیکربندی کاربران، مدیریت Cloudflare، محدودسازی دسترسی فایل‌ها، افزایش worker_processes و افزودن هدر X-Cache-Status است.

NGINX customizationreverse proxy configurationcPanel NGINX settings

~3 دقیقه مطالعه · آخرین به‌روزرسانی ۳ اسفند ۱۴۰۴

1. مقدمه


شما می‌توانید NGINX® با Reverse Proxy را در cPanel & WHM به روش‌های مختلف سفارشی‌سازی کنید. این سفارشی‌سازی‌ها شامل تنظیمات Global، فایل‌های پیکربندی، Server Blockها، پیکربندی کاربران، مدیریت Cloudflare و بهینه‌سازی عملکرد است.




2. تنظیمات Global Configuration


در WHM می‌توانید برخی از مقادیر NGINX را از مسیر زیر تنظیم کنید:

WHM » Service Configuration » Apache Configuration » Global Configuration


این تنظیمات با دستورات زیر در NGINX مرتبط هستند:

  • Keep-Alive → دستور keepalive اگر مقدار را روی On قرار دهید، NGINX مقدار 32 را استفاده می‌کند. برای مقدار دلخواه، آن را در فایل /etc/nginx/ea-nginx/settings.json تنظیم کنید.
  • Keep-Alive Timeout → دستور keepalive_timeout فقط مقدار تنظیم‌شده در WHM استفاده می‌شود.
  • Max Keep-Alive Requests → دستور keepalive_requests اگر مقدار را روی Unlimited بگذارید، NGINX مقدار 1000 را استفاده می‌کند.



3. فایل‌های پیکربندی Global


فایل‌های .conf که برای کل سرور هستند باید در مسیر زیر قرار بگیرند:

/etc/nginx/conf.d/

برای تغییر همه Server Blockها، فایل خود را در مسیر زیر قرار دهید:

/etc/nginx/conf.d/server-includes/

نکته: حتماً فایل خود را با دستور include در فایل مناسب فراخوانی کنید.




4. سفارشی‌سازی Server Blockها


برای سفارشی‌سازی Server Blockها (معادل Virtual Host در Apache)، یک فایل .conf در مسیر مناسب ایجاد کنید.


هر Server Block فایل‌های موجود در مسیر زیر را include می‌کند:

/etc/nginx/conf.d/server-includes/

هشدار: از پیشوند cpanel- برای فایل‌های سفارشی استفاده نکنید.




5. پیکربندی کاربران


برای سفارشی‌سازی همه Server Blockهای یک کاربر:

/etc/nginx/conf.d/users/username/

برای سفارشی‌سازی یک دامنه خاص:

/etc/nginx/conf.d/users/username/domainname/

برای addon domainها:

/etc/nginx/conf.d/users/username/addondomain.domainname/*.conf



6. پیکربندی سفارشی قبل از نصب NGINX


برای سفارشی‌سازی قبل از نصب بسته ea-nginx، فایل‌های زیر را ایجاد کنید:

/var/nginx/ea-nginx/settings.json
/var/nginx/ea-nginx/cache.json

مهم: در زمان نصب، این فایل‌ها به مسیر زیر منتقل می‌شوند و نسخه قبلی حذف می‌شود:

/etc/nginx/ea-nginx/settings.json
/etc/nginx/ea-nginx/cache.json

دستورات پشتیبانی‌شده در settings.json:

  • keepalive_time
  • worker_shutdown_timeout
  • worker_processes

هشدار: این فایل‌ها باید JSON معتبر باشند.




7. مدیریت Cloudflare


به‌صورت پیش‌فرض، NGINX تنظیمات Cloudflare را در فایل زیر قرار می‌دهد:

/etc/nginx/conf.d/users/example.conf

برای غیرفعال‌کردن آن:

  • در فایل /etc/nginx/ea-nginx/settings.json مقدار include_cloudflare را برابر false قرار دهید.
  • NGINX را rebuild یا restart کنید.



8. محدودسازی دسترسی فایل‌ها


برای جلوگیری از دسترسی به فایل‌های حساس (مثلاً .git) یک فایل .conf ایجاد کنید و دستورات زیر را اضافه کنید:

location ~ /\.git {
    deny all;
    log_not_found off;
    access_log off;
    return 404;
}



9. افزایش worker_processes


برای افزایش تعداد پردازش‌های NGINX:

  1. فایل /etc/nginx/ea-nginx/settings.json را باز کنید.
  2. مقدار worker_processes را افزایش دهید.
  3. پیکربندی را تست کنید:
nginx -t

اگر پیام موفقیت دریافت کردید، NGINX را restart کنید.




10. افزودن هدر X-Cache-Status


برای مشاهده وضعیت کش در پاسخ‌ها:

  1. فایل /etc/nginx/ea-nginx/cache.json را باز کنید.
  2. مقدار زیر را از false به true تغییر دهید:
"x_cache_header": true,

مهم: ویرگول را حذف نکنید.


سپس NGINX را rebuild کنید.




نتیجه‌گیری


با استفاده از این روش‌ها می‌توانید NGINX را در cPanel & WHM به‌صورت کامل سفارشی‌سازی کنید. از تنظیمات Global گرفته تا مدیریت Cloudflare، کنترل دسترسی فایل‌ها و بهینه‌سازی workerها، این ابزارها به شما امکان می‌دهند یک محیط قدرتمند و انعطاف‌پذیر ایجاد کنید.


نوشته و پژوهش‌شده توسط دکتر شاهین صیامی

مقالات مرتبط

راهنمای کامل بازیابی اکانت cPanel و انتقال حساب‌ها و تنظیمات برای مدیران سیستم تازه‌کار

این مقاله یک راهنمای جامع برای مدیران سیستم تازه‌کار است که می‌خواهند اکانت‌های cPanel را بازیابی کنند، حساب‌ها و تنظیمات را بین سرورها منتقل کنند، و از ابزارهای تشخیصی برای بررسی مشکلات انتقال و بازیابی استفاده کنند. این راهنما شامل نحوه استفاده از WHM، نحوه آپلود بکاپ‌ها، روش‌های انتقال، و فعال‌سازی لاگ‌های پیشرفته است.

ادامه

How to Move All cPanel Accounts from One Server to Another

This guide explains how to migrate all cPanel accounts, service configurations, SSL certificates, and the main server IP address from an old source server to a new target server. It covers installation requirements, configuration transfers, account migration, IP reassignment, DNS adjustments, and SSL restoration.

ادامه

آموزش کامل مهاجرت یک وب‌سایت وردپرس از macOS به سرور cPanel & WHM

این مقاله نحوه انتقال یک وب‌سایت وردپرس که روی macOS میزبانی شده است را به یک سرور cPanel & WHM توضیح می‌دهد. شامل خروجی گرفتن از دیتابیس، آپلود فایل‌ها، ایجاد دیتابیس جدید، تنظیم wp-config.php، تغییر URL سایت، و رفع لینک‌ها و تصاویر خراب است.

ادامه

آموزش کامل انتقال دستی یک اکانت بین سرورها در cPanel & WHM

این مقاله نحوه انتقال دستی یک اکانت بین دو سرور را زمانی که حجم اکانت برای ابزارهای انتقال WHM بسیار بزرگ است توضیح می‌دهد. شامل ایجاد دایرکتوری موقت، فشرده‌سازی public_html و لاگ‌ها، انتقال امن با scp، و بازیابی فایل‌ها در سرور جدید است.

ادامه

آموزش کامل مهاجرت دستی داده‌های Horde به Roundcube در cPanel & WHM

این مقاله نحوه مهاجرت دستی تقویم‌ها و مخاطبین Horde به Roundcube را در نسخه‌های 108 تا 118 cPanel & WHM توضیح می‌دهد. شامل مراحل خروجی گرفتن از Horde، انتقال فایل‌ها به مسیرهای صحیح، و وارد کردن داده‌ها در Roundcube با استفاده از افزونه‌های داخلی یا ابزارهای واردسازی است.

ادامه

آموزش کامل مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM

این مقاله نحوه مهاجرت دستی اکانت‌ها از کنترل‌پنل‌های غیرپشتیبانی‌شده به cPanel & WHM را توضیح می‌دهد. شامل اقدامات قبل از مهاجرت، نصب سرور جدید، انتقال فایل‌ها و دایرکتوری‌ها، بازیابی دیتابیس‌ها، انتقال SSL، و اقدامات پس از مهاجرت است.

ادامه