درخواست های ارتباط
جستجو
    لیست دوستان من
    صندوق پیام
    همه را دیدم
    • در حال دریافت لیست پیام ها
    صندوق پیام
    رویدادها
    همه را دیدم
    • در حال دریافت لیست رویدادها
    همه رویدادهای من
    تخفیف های وب سایت
    همه تخفیف ها

    عضویت در

    کانال تلگرام

    توسینسو

    اطلاعات مطلب
      مدرس/نویسنده
      علی سفیدموی
      امتیاز: 3633
      رتبه:116
      0
      14
      6
      30
      فارغ التحصیل رشته مهندسی سخت افزار دانشگاه شاهد هستم. به حوزه شبکه علاقه مند می باشم و دوره MCSE را در مجتمع فنی تهران شعبه ابن سینا گذرانده ام. به یادگیری و کار تیمی علاقه مند می باشم. در زمینه هایی از قبیل high availability و load balancing سرور های لینوکسی در شرکت ویراتک شریف دارای تجربه می باشم. علاقه مند به انجام پروژه در زمینه شبکه های کامپیوتری هستم. در حوزه برنامه نویسی و توسعه اپلیکیشن های تحت وب فعالیت داشته و دارم. به عنوان کاربر نویسنده نیز چندین مطلب تخصصی در حوزه فناوری اطلاعات در انجمن تخصصی فناوری اطلاعات ایران به ثبت رسانده ام. پروفایل کاربر
      دوره های مرتبط
      دوره های توسینسو آموزش جامع نصب و پیکربندی Network Monitor Cacti Server
      آموزش جامع نصب و پیکربندی Network Monitor Cacti Server
      مدرس: پوریا تعبدی
      این دوره را در 1 قسط خریداری کنید
      نصب ویندوز به روش Backup های مستقل از سخت افزار با Acronis True Image
      نصب ویندوز به روش Backup های مستقل از سخت افزار با Acronis True Image
      مدرس: میلاد فشی
      این دوره را در 4 قسط خریداری کنید
      دوره آموزشی مدیریت کلاس از راه دور و مانیتورینگ با NetOP
      دوره آموزشی مدیریت کلاس از راه دور و مانیتورینگ با NetOP
      مدرس: صادق شعبانی
      این دوره را در 2 قسط خریداری کنید
      دوره آموزشی نصب و راه اندازی Output Messenger در شبکه
      دوره آموزشی نصب و راه اندازی Output Messenger در شبکه
      مدرس: آرش ترابی
      این دوره را در 3 قسط خریداری کنید
      دوره آموزشی تجزیه و تحلیل ترافیک شبکه با Wireshark
      دوره آموزشی تجزیه و تحلیل ترافیک شبکه با Wireshark
      مدرس: محمد عابدینی
      این دوره را در 5 قسط خریداری کنید
      دوره آموزشی نرم افزار ریموت دسکتاپ Team Viewer
      دوره آموزشی نرم افزار ریموت دسکتاپ Team Viewer
      مدرس: صادق شعبانی
      این دوره را در 3 قسط خریداری کنید
      دوره آموزشی بین المللی MCSA ویندوز سرور 2012 کد 70-410
      دوره آموزشی بین المللی MCSA ویندوز سرور 2012 کد 70-410
      مدرس: اسحاق احمدپور
      این دوره را در 37 قسط خریداری کنید
      دوره آموزشی نصب ، راه اندازی و پیکربندی ایمیل سرور MDaemon
      دوره آموزشی نصب ، راه اندازی و پیکربندی ایمیل سرور MDaemon
      مدرس: علی آقامیری
      این دوره را در 10 قسط خریداری کنید
      دوره آموزشی نرم افزار وایرشارک ( Wireshark )
      دوره آموزشی نرم افزار وایرشارک ( Wireshark )
      مدرس: مریم علی زاده
      این دوره را در 10 قسط خریداری کنید
      آشنایی با زیرساخت های شبکه و پیکربندی کامل مودم های ADSL
      آشنایی با زیرساخت های شبکه و پیکربندی کامل مودم های ADSL
      مدرس: پوریا تعبدی
      این دوره را در 3 قسط خریداری کنید
      بهترین دوره آموزشی بین المللی +CompTIA Network در دنیا
      بهترین دوره آموزشی بین المللی +CompTIA Network در دنیا
      مدرس: محمد نصیری
      این دوره را در 64 قسط خریداری کنید
      دوره آموزشی جامع نصب و راه اندازی انواع FTP سرور
      دوره آموزشی جامع نصب و راه اندازی انواع FTP سرور
      مدرس: کاظم تقندیکی
      این دوره را در 7 قسط خریداری کنید
      دوره آموزشی تخصصی مانیتورینگ شبکه Zabbix در لینوکس
      دوره آموزشی تخصصی مانیتورینگ شبکه Zabbix در لینوکس
      مدرس: مجتبی اسمائی
      این دوره را در 25 قسط خریداری کنید
      دوره آموزشی سناریوهای کاربردی و متنوع در تجهیزات سیسکو با سهیل قاسمی
      دوره آموزشی سناریوهای کاربردی و متنوع در تجهیزات سیسکو با سهیل قاسمی
      مدرس: ُسهیل قاسمی
      این دوره را در 14 قسط خریداری کنید
      دوره آموزشی مقدماتی نرم افزار Wireshark
      دوره آموزشی مقدماتی نرم افزار Wireshark
      مدرس: محمد عابدینی
      این دوره را در 8 قسط خریداری کنید
      دوره آموزشی سیسکو آسان است
      دوره آموزشی سیسکو آسان است
      مدرس: صادق شعبانی
      این دوره را در 35 قسط خریداری کنید
       آموزش مانیتورینگ شبکه با نرم افزار قدرتمند ManageEngine OpManager
      آموزش مانیتورینگ شبکه با نرم افزار قدرتمند ManageEngine OpManager
      مدرس: جعفر قنبری شوهانی
      این دوره را در 9 قسط خریداری کنید
      دوره آموزشی جامع مانیتورینگ شبکه با  Solarwinds و ماژول ها
      دوره آموزشی جامع مانیتورینگ شبکه با Solarwinds و ماژول ها
      مدرس: جعفر قنبری شوهانی
      این دوره را در 6 قسط خریداری کنید
      دوره آموزشی نصب ، راه اندازی و پیکربندی فایل سرور Serv-U
      دوره آموزشی نصب ، راه اندازی و پیکربندی فایل سرور Serv-U
      مدرس: کاظم تقندیکی
      این دوره را در 11 قسط خریداری کنید

      آشنایی با تنظیمات وب سرور Nginx و ساختار آن

      تاریخ 25 ماه قبل
      نظرات 0
      بازدیدها 506
      با سلام خدمت همه دوستان ITPRO
      در این آموزش با نحوه نصب وب سرور NGINX آشنا شدیم. در این آموزش قصد داریم به فایل تنظیمات (configuration file) ورود پیدا کنیم و با اون آشنا بشیم.
      زمانی که افراد با وب سرور NGINX آشنایی پیدا می کنن و به سمت فراگیری تنظیمات اون میرن، با ساختار خاصی مواجه می شن که ممکنه در ابتدای کار اون ها رو دچار سردرگمی بکنه.البته این طبیعیه چون هر وب سروری ساختار خودش رو داره و از الگوی خاصی پیروی می کنه. اما نگران نباشید؛در ادامه قصد داریم تا جایی که ممکنه با ساختار کلی تنظیمات این وب سرور آشنا بشیم و اطلاعات خوبی راجع به اون به دست بیاریم.

      آشنایی با context در فایل تنظیمات nginx

      در این آموزش ساختار ساده ای از تنظیماتی که در فایل تنظیمات اصلی nginx وجود داره رو بررسی می کنیم. همونطور که در آموزش نصب nginx به اون اشاره کردیم، این فایل معمولا در etc//nginx// به اسم nginx.conf وجود داره.
      چیزی که در ابتدا با مشاهده فایل کانفیگ اصلی با آن مواجه می شویم، ساختار درختی این فایل و وجود یک سری براکت به صورت { و } است. در Nginx این محیط با نام context شناخته می شود. این context ها می توانند به صورت تودرتو تعریف شوند و یک حالت ارث بری در تنظیمات فراهم می شود به این صورت که تنظیماتی به صورت پیش فرض در context بیرونی وجود دارد و اگر در context داخلی مقداری با همان پارامتر ها تعریف شود بر روی آن اصطلاحا override می شود.
      جملاتی که درون context ها نوشته می شود directive نام دارد. directive ها تنها در محل هایی که برای آن طراحی شده اند می توانند مورد استفاده قرار گیرند و اگر در خارج از این context ها تعریف شوند Nginx با error این موضوع را گوشزد خواهد کرد. این لینک که شامل مستندات وب سرور Nginx می باشد به شما می گوید که کدام directive ها در کدام context ها می توانند تعریف شوند.
      در ادامه با اصلی ترین context ها و directive ها آشنا می شویم:

      context های اصلی

      اولین دسته از context ها context های core یا اصلی می باشند که Nginx از آن ها برای ایجاد سلسله مراتب درختی تنظیمات و جدا کردن بلوک های تنظیمات استفاده می کند.

      main context

      این context بیرونی ترین context می باشد که در داخل هیچ context دیگری قرار ندارد و به صورت زیر آن را مشاهده می کنیم:
      # The main context is here, outside any other contexts
      
      . . .
      
      context {
      
          . . .
      
      }
      

      هر directive ای که بیرون همه بلوک های تنظیمات قرار می گیرد، به عنوان main context رفتار می کند. این directive ها بر روی تمام Application ای که از این وب سرور، سرویس دریافت می کند اعمال می شوند.
      برخی از directive هایی که در main context تعریف می شوند از قبیل زیر می باشند:
      • user یا group هایی که worker process ها با آن ها run می شوند
      • تعداد worker process ها
      • فایلی که شناسه پروسه(PID) worker process اصلی در آن ذخیره شده است
      • فایلی که error های پیش فرض را برای تمام Application مشخص می کند(البته می تواند در context های مشخصی override شود)

      Events context

      همان طور که می توان حدس زد، events context داخل main context قرار دارد. تنظیمات سراسری مربوط به این که Nginx چگونه connection ها را به صورت کلی مدیریت کند وظیفه این context است. در کل فایل تنظیمات تنها یکبار می توان این context را تعریف کرد.
      تنظیمات این context به صورت زیر بوده و خارج از هر context تعریف می شود:
      # main context
      
      events {
      
          # events context
          . . .
      
      }
      
      جالب است بدانید که Nginx از یک مدل پردازشی event-base برای connection ها استفاده می کند. در نتیجه directive هایی که درون این context تعریف می شوند مشخص می کنند که worker process ها چگونه connection ها را مدیریت کنند.
      برای مثال worker_connections مقداری که رو به روی آن نوشته می شود را به عنوان حداکثر تعداد connection های همزمان که می تواند توسط یک worker process باز شود، در نظر می گیرد.(توجه شود که این تعداد برای همه connection ها از قبیل proxy و client می باشد و فقط برای connection های client نیست). مقدار پیش فرض آن برابر 512 کانکشن می باشد.
      همیشه متد پردازش connection ها طبق بهترین انتخاب platform مورد نظر، به صورت خودکار انتخاب می گردد. برای سیستم عامل لینوکس متد epoll بهترین انتخاب است.

      HTTP context

      زمانی که Nginx به عنوان وب سرور و یا reverse proxy پیکربندی می شود، اصلی ترین تنظیمات در داخل این context قرار می گیرند. این context نحوه مدیریت context های دیگری که در درونش قرار می گیرد و یا نحوه handle کردن ارتباط های http یا https را برعهده دارد.
      این context پشت سر events context قرار می گیرد و داخل main context می باشد:
      # main context
      
      events {
          # events context
      
          . . .
      
      }
      
      http {
          # main context
      
          . . .
      
      }
      
      context های سطح پایین تر مانند http به صورت جزئی تری به نحوه handle کردن request ها می پردازد و virtual server ها در داخل آن تعریف می شوند. directive هایی که در این سطح تعریف می شوند، پیش فرض ها را برای هر virtual server که درون آن تعریف می شود کنترل می کند. تعداد بالایی از directive ها در این context می توانند تعریف شوند. برخی از آن ها را می توان به صورت زیر برشمرد:
      • کنترل کردن location پیش فرض برای لاگ های access و error - توسط (accesslog و errorlog)
      • پیکربندی عملیات I/O به صورت آسنکرون برای عملیات مربوط به فایل - توسط (aio , sendfile , و directio)
      • پیکربندی server status در هنگام رخداد error - توسط (error_page)
      • پیکربندی compression - توسط (gzip و gzip_disable)
      • مدیریت بهتر تنظیمات TCP keepalive - توسط (keepalivedisable , keepaliverequests و keepalive_timeout)
      • قوانینی که Nginx برای optimize کردن packet ها و system call ها از آن ها پیروی می کند - (sendfile , tcpnodelay و tcpnopush)
      • پیکربندی تنظیمات کلی مربوط به صفحات application - توسط (root و index)
      • فراهم کردن hash table های مختلف که برای ذخیره type های مختلف داده استفاده می شود - (hashbucket_size و hashmaxsize برای servernames , types و variables)

      این ها تنظیماتی هستند که اگر بخواهید می توانید از آن ها استفاده کنید اما از برخی از آن ها به وفور استفاده می شوند.

      باتشکر.
      ITPRO باشید!
      برچسب ها
      ردیفعنوان
      1معرفی وب سرور NGINX و نصب اولیه آن
      2آشنایی با تنظیمات وب سرور Nginx و ساختار آن
      دورهمجموعه کل دوره
      مطالب مرتبط

      در حال دریافت اطلاعات

      نظرات
      • این پست حذف شده است
        دلیل حذف: این پست حاوی محتوای تبلیغاتی می باشد

      برای ارسال نظر ابتدا به سایت وارد شوید