Nginx
Nginx چیست؟
Nginx میتواند در نقش webserver باشد .این اولین کارکرد nginx است .
انرا میتوانیم از src نصب کنیم و یا توسط Package Manager ها و یا همچنین فایل RPM ان را دانلود کنیم .
نکته:اگر میخواهی که همیشه اخرین نسخه ی ان را داشته باشی میتوانی از source ان را بگیری چرا که repository ها همیشه اپدیت تر هستند .
Feature ها در Nginx:
یک Storage را در نظر بگیریم .
زمانی که میخواهیم HA راه اندازی کنیم و یا Reverse Proxy , loadbalancing داشته باشیم باید Storage مان Share باشد .
یعنی همه ی اینها بروند از یک نقطه اطلاعات بگیرند .این Storage هم NFS ای است .
فرض کنیم storage مان Linux ای است و webcontent هم داخل ان است و ان را بر روی 2 تا nginx مانت میکنیم .
توجه داشته باشیم که نقش nginx ها در این سناریو web server است .

حال میتوانیم کار را همین جا به اتمام برسانیم .
و یا میتوانیم بین این 2 nginx هم HA را Run کنیم توسط keepalived که در صورتی که یک گروه vrrp را run کنیم به صورت Active-Passive خواهد بود .
همجنین میتوانیم 2 گروه VRRP را Run کینم که در این صورت برای گروه VRRP1 به این شکل خواهد بود که Nginx01 در نقش Active و Nginx02 در نقش Slave خواهد بود
و برای گروه VRRP2 هم Nginx01 در نقش Passive و Nginx02 در نقش Active خواهد بود .

همچنین میتوانیم یک لایه دیگر جلوی هر دو Nginx اضافه کنیم تا Load را پخش کند به این معنا که 2 Nginx در نقش Reverse Proxy قرار دهیم تا بین 2 nginx ای که در نقش web server هستند Load Balance انجام دهد .
حال این Loadbalance میتوتنیم بر روی حالت Round Robin و یا Least Connection و یا Balance و … قرار دهیم.
همچنین بر روی LoadBalancing میتوانیم همه ی این موارد را با Health Check بزنیم . به این معنا که اگر WebServer های پشتی جواب نداد دیگر به سمت ان ترافیک ارسال نمیکند .

Cache در Nginx
می توانیم در nginx های در نقش Reverse Proxy با فعال کردن Cache بر روی رم و یا هارددیسک Read/Write بر روی Storage را کم کنیم .
فرض کنیم در پروژه مان 60 مگابایت web اراعه میدهیم .
کدام harddisk میتواند 60 مگابایت پهنای باند اراعه دهد؟کدام ارتباط شبکه ای میتواند در این حد پهنای باند اراعه دهد؟
در این سناریو و شکل های رسم شده سرور های Backend کل website را اراعه می دهد .در صورتی که میتوانیم 2 nginx دیگر قرار دهیم تا فقط عکس هارا اراعه دهد و همچنین 2 nginx دیگر که فقط API را اراعه دهد .
و LoadBalancer های جلو میدانند که اگر کاربر در Request اش نوشته Image در این صورت ترافیک را به سمت سروری که عکس را اراعه می دهد هدایت میکند .
Feature ها در Nginx:
LoadBalancing
Reverse Proxy with Caching
SSL Termination

شاهدی گرفته ام برای بودن در روز موعود