سفارشی‌سازی 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 min read • Updated Feb 22, 2026

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ها، این ابزارها به شما امکان می‌دهند یک محیط قدرتمند و انعطاف‌پذیر ایجاد کنید.


Written & researched by Dr. Shahin Siami