اجرای Nginx در حالت اشکال زدایی (Debug)

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

با این حال، همانند هر نرم افزار دیگری، باگ ها و ایراد هایی وجود دارد که برخی شرایط بروز می کند. هنگامی که یک مشکل در nginx به وجود می آید، بهترین کاری که می توان انجام داد این است که nginx را در یک مود اشکال یابی بالاتر restart کنیم.

طریقه ی انجام کار

در صورتی که نیاز به debug دارید، باید nginx را با پرچم debug کامپایل کنید. (‎--with-debug)  در بیشتر توزیع های سیستم عامل، nginx کامپایل شده با پرچم debug موجود می باشد.

در زیر لیست سطوح مختلف اشکال زدایی مختلف که می توانید استفاده کنید آمده است  (دستور زیر باید در فایل پیکربندی nginx نوشته شود):

error_log LOGFILE [debug | info | notice | warn | error | crit | debug_core | debug_alloc | debug_mutex | debug_event | debug_http | debug_imap];

در صورتی که شما مکان فایل های log را مشخص نکرده باشید، log ها در مکان پیش فرض که در زمان کامپایل مشخص شده نوشته خواهند شد. علاوه بر این، می توانید مکان فایل های log را برای هر یک از وبسایت ها به طور جداگانه مشخص کنید.

در جدول زیر کاربرد هر یک از پرچم های اشکال زدایی لیست شده است:

پرچم ها کاربرد

debug_core

Lets you dump the core when Nginx crashes

debug_alloc

Logs all memory allocation warnings and errors

debug_mutex

Logs potential mutex issues

debug_event

Logs events module issues

debug_http

This is the default HTTP logging

debug_imap

This is the default IMAP logging

 

Nginx به ما اجازه می دهد که خطاها را برای یک آدرس IP ی خاص log کنیم. در زیر یک پیکربندی نمونه برای لاگ خطاهای آدرس IP ی 192.168.1.1  و همچنین رنج IP ی 192.168.10.0/24 می باشد:

error_log logs/error.log;
events {
    debug_connection 192.168.1.1;
    debug_connection 192.168.10.0/24;
}

این کار برای زمانی که می خواهید در یک سایت live لاگ را فعال کنید خیلی مفید خواهد بود. زیرا لاگ کردن همه ی خطاها موجب کاهش بی مورد کارایی می شود. این قابلیت اجازه می دهد که log را به صورت عمومی فعال نکنید و در عین حال، پیغام های اشکال زدایی را برای یک سری از IP های کاربران ذخیره نمایید.

دسته بندی‌ها: 

افزودن دیدگاه جدید