معرفی NginX
من، ارسلان میربزرگی قصد دارم تجربیات شخصی خودم را در اختیارتون قرار دهم، شما در وبسایت من مثالها و پروژههای عملی را مشاهده کنید و در پروژههای خودتون پیاده سازی کنید. در این مقاله به سراغ NginX رفتم.
این سرویس در واقع یک وب سرور متن باز (Open Source) است که رایگان بوده و بسیار کارآمد است. ایده و گسترش آن در سال 2002 توسط شخصی روس اتفاق افتاد و در سال 2004 بصورت عمومی منتشرشد.
وبسرور چیست؟
فرض کنید شما یک کد جاوا اسکریپت دارید و میخواهید آن را لایو کنید یعنی در یک سرور یا هاست قرار دهید تا همه بتوانند آن را ببینند. در این مواقع از یک وب سرور مانند: انجین ایکس(Nginx) یا آپاچی (Apache2) استفاده میکنند که در واقع یک سرور تحت وب هستند، چون سرور شما دارای یک آی پی( IP) عمومی میباشد ، پس nginx آن صفحه را برای شما لود میکند.
در اینجا قصد دارم موارد عمومی و کاربردی استفاده از انجین ایکس را که میتوانید آن را بصورت پروژه و مثال در گیت هاب من مشاهده کنید، بررسی کنم.
1. اگر بخواهید یک صفحه جاوااسکریپت یا اچ تی ام ال و سی اس اس لود کنید چگونه باید از انجین ایکس استفاده کنید؟
2. اگر بخواهیم از انجین ایکس برای Port forwarding استفاده کنیم، باید چه کار کنیم؟
3. اگر پروتکلمونHTTP باشه و بخواهیم پروکسی و یا port forwarding انجام دهیم، چگونه باید استفاده کنیم؟
4. اگر پروتکلمون UDP باشه و بخواهیم پروکسی و یا port forwarding انجام دهیم، چگونه باید استفاده کنیم؟
5. اگر پروتکلمون TCP باشه و بخواهیم پروکسی و یا port forwarding انجام دهیم، چگونه باید استفاده کنیم؟
مورد بعد Load Balancing با nginx است که من شخصاً با HA proxy انجام دادم و در آن قسمت برایتان توضیح خواهم داد، در صورت نیاز به load balancing با nginx به من ایمیل بزنید تا برایتان مثال کاربردیشو آماده کنم.
و در آخر
کد ها و دستورات تمامی این موارد را میتوانید در گیت هاب من مشاهده کنید.
لینک های گیت هاب برای هر یک از موارد:
Load Js:
https://github.com/arsalanmrz/nginx-load-js
Port Forwarding:
https://github.com/arsalanmrz/nginx-port-forwarding
HTTP Proxy:
https://github.com/arsalanmrz/nginx-http-proxy
UDP/HTTP/TCP:
https://github.com/arsalanmrz/nginx-udp-http-tcp-proxy