مشاوره رایگان :

آموزش نصب وب سرور NGINX

وب-سرور-nginx

وب سرور NGINX یک نرم افزار open source برای web serving, reverse proxying, caching, load balancing, media streaming و موارد دیگر است. این نرم افزار به عنوان یک وب سرور برای حداکثر عملکرد و پایداری طراحی شده است. برای آشنایی بیشتر با وب سرور، به صفحه وب سرور چیست مراجعه کنید.

علاوه بر قابلیت های HTTP، وب سرور NGINX همچنین می تواند به عنوان یک proxy server برای ایمیل (IMAP ، POP3 و SMTP) و یک reverse proxy و load balancer برای سرورهای HTTP ،TCP و UDP عمل کند.

هدف وب سرور NGINX ایجاد یک وب سرور سریع بود و حفظ این ویژگی هنوز هم هدف اصلی پروژه است. از زمان انتشار NGINX، وب سایت هایی که صفحات HTML ساده با محتوای دینامیک و چند وجهی دارند گسترش یافته اند.

NGINX می تواند بین سرویس گیرنده ها و وب سرور دوم قرار گیرد تا به عنوان ترمینال SSL / TLS یا شتاب دهنده وب عمل کند. وب سرور NGINX به عنوان یک واسطه، اعمالی که ممکن است سرعت وب سرور شما را کم کند، مانند مذاکره با SSL / TLS یا فشرده سازی و ذخیره محتوای برای بهبود عملکرد، را به طور کارآمد مدیریت می کند.

سایت های دینامیک که با استفاده از Node.js یا PHP ساخته می شوند، معمولاً NGINX را به عنوان حافظه cach و reverse proxy انتخاب می کنند تا بار سرورهای برنامه را کاهش دهند و از سخت افزار اصلی استفاده موثرتر کنند.

وب سرور NGINX از ابتدای زمان انتشار به دلیل استفاده از منابع سبک و توانایی مقیاس گذاری بالا در حداقل سخت افزار به محبوبیت بیشتری رسیده است.

وب سرور NGINX در ارائه سریع محتوای استاتیک و انتقال درخواست های دینامیک به سایر نرم افزارها، بسیار عالی عمل می کند.

source code وب سرور NGINX توسط زبان برنامه نویسی C توسط Kernighan و Ritchie نوشته شده و سبک سازگار را حفظ می کند.

مزایا و معایب وب سرور NGINX

مزایا و معایب وب سرور NGINX

مزایای وب سرور NGINX

 

۱٫ دارای نصب و کانفیگ ساده و آسان:

مراحل کانفیگ این وب سرور در ادامه شرح داده شده.

 

۲٫ سریع ترین و بهترین وب سرور برای ارائه فایل های استاتیک:

در حالی که فایل های استاتیک مانند pdf ،zip ،html ،mp4 ،mpeg ،avi- ،jpg ،gif ،png و سایر موارد را ارائه می دهید، می توانید عملکرد عالی وب سرور NGINX را تجربه کنید. در صورتی  که می خواهید عملکرد وب سرور را افزایش دهید می توانید حافظه cach را اضافه کنید. 

 

۳٫ در این وب سرور محتوای دینامیک به محتوای استاتیک تبدیل شده است:

هنگامی که محتوای پراکسی دینامیک با ماژول HttpProxyModule با استفاده از NGINX پنهان می شود، محتوا با حداکثر بازده ذخیره می شود و کد برنامه را تغییر نمی دهد.

 

۴٫ دارای ۴ برابر بازدهی اتصال همزمان به نسبت دیگر وب سرور ها:

در مقایسه با دیگر وب سرور ها، NGINX به عنوان کارآمدترین و سبک وزن ترین وب سرور امروزی شناخته می شود.  وقتی NGINX با سایر وب سرورها مقایسه می شود از ترافیک بیشتری به طور همزمان پشتیبانی می کند.

 

۵٫ سازگاری با برنامه های وب متداول:

برنامه های مختلفی مانند WordPress ،ruby ،python ،Joomla ،drupal ،vbulletin ،phpbb ،xenforo و بسیاری از برنامه های معروف دیگر توسط NGINX ارائه می شوند.

 

۶٫ پشتیبانی از Load Balancing:

یکی از برجسته ترین ویژگی های وب سرور NGINX این است که می تواند load balancing را برای http server های سریع کانفیگ کند. load balancing وب سرور Nginx توزیع ترافیک را در سرورهای مختلف امکان پذیر می کند.

 

۷٫ افزایش سرعت و بهبود رتبه وب سایت در گوگل:

در گذشته سرعت وب سایت برای SEO خیلی قابل اهمیت نبود. امروزه Google بسیار تاکید دارد که وب سایت ها باید سریع باشند. وب سایت های کند قادر به دریافت ترافیک خوب از موتورهای جستجوگر محبوب نیستند. کسانی که از وب سرور NGINX استفاده می کنند توسط گوگل رتبه بهتری می گیرند.

 

معایب وب سرور NGINX

 

۱٫ از فایل های .htaccess پشتیبانی نمی کند:

البته این مورد می تواند یک امر مثبت به حساب بیاید، زیرا فایل های .htaccess باید توسط Apache برای هر درخواست تجزیه شود، که این امر می تواند افزایش هزینه قابل توجهی ایجاد کند.

 

۲٫ فایل های کانفیگ شده باید دوباره نوشته شوند:

اگر کانفیگ سایت پیچیدگی زیادی داشته باشد، انجام این کار ممکن است کمی طول بکشد که البته برای موارد ساده معمولاً مسئله مهمی نیست.

 

نصب وب سرور NGINX

وب سرور NGINX یکی از محبوب ترین وب سرورها در جهان است و مسئولیت میزبانی برخی از بزرگترین و پربازدیدترین سایت ها در اینترنت را دارد.

در ادامه ما برای شما کاربران عزیز مراحل راه اندازی و نصب وب سرور NGINX را در سرور مجازی اوبونتو شرح داده شده. قبل از شروع این راهنما، باید یک دسترسی غیر root  با امتیازات sudo در سرور خود کانفیگ کنید.

نصب وب سرور NGINX

۱_ نصب وب سرور NGINX

از آنجا که NGINX در repository های پیش فرض اوبونتو موجود است، امکان نصب آن با استفاده از سیستم بسته بندی apt از این repository ها وجود دارد.

ابتدا ما index پکیج های local خود را به روز می کنیم تا به جدیدترین لیست پکیج ها دسترسی داشته باشیم. پس از آن ، می توانیم NGINX  را نصب کنیم:

 

$ sudo apt update

$ sudo apt install nginx

 

سپس apt وب سرور NGINX و وابستگی های مورد نیاز را روی سرور شما نصب می کند.

 

۲_ تنظیم firewall

قبل از تست NGINX، نرم افزار firewall باید تنظیم شود تا امکان دسترسی به سرویس فراهم شود. کانفیگ های برنامه ای را که ufw نیاز دارد را با تایپ کردن دستور زیر لیست کنید:

 

$ sudo ufw app list

 

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

 

Available applications:

Nginx Full Nginx

HTTP Nginx

HTTPS OpenSSH

 

همانطور که توسط خروجی نشان داده شده، سه نوع پروفایل برای وب سرور NGINX موجود است:

 

NGINX Full: این پروفایل هم پورت ۸۰ که برای ترافیک وب عادی و رمزگذاری نشده است و هم پورت ۴۴۳ که برای ترافیک رمزگذاری شده TLS / SSL است را باز می کند.


NGINX HTTP: این نمایه فقط پورت ۸۰  را باز می کند.


NGINX HTTPS: این نمایه فقط پورت ۴۴۳ را باز می کند. البته توصیه می شود محدودترین پروفایل را فعال کنید. در حال حاضر، ما فقط نیاز به دسترسی به پورت ۸۰ داریم.

با تایپ کردن دستور زیر می توانید این مورد را فعال کنید:

 

$ sudo ufw allow 'Nginx HTTP'

 

با تایپ کردن دستور زیر می توانید صحت اعمال تغییر را بررسی کنید:

 

$ sudo ufw status

 

۳_ چک کردن وب سرور NGINX

در پایان مراحل نصب، وب سرور باید فعال باشد.

می توانیم با استفاده از سیستم systemd init بررسی کنیم که سرویس در حال اجراست:

 

$ systemctl status nginx

 

برای دسترسی به عملکرد صحیح نرم افزار با رفتن به IP address سرور خود می توانید به صفحه پیش فرض NGINX بروید. اگر IP address سرور خود را نمی دانید، می توانید با استفاده از ابزار icanhazip.com، آن را پیدا کنید:

 

$ curl -4 icanhazip.com

 

در این مرحله آن را در نوار آدرس مرورگر خود وارد کنید:

 

http://your_server_ip

 

شما باید صفحه پیش فرض NGINX را دریافت کنید:

صفحه یش فرض NGINX

 

وب سرور NGINX شما آماده استفاده است.

نصب وب سرور NGINX