امروزه وب سرور Nginx در جایگاه یک پروکسی معکوس، در انواع سرور مجازی مورد استفاده قرار گرفته میشود.
طراحی این وب سرور، مدیریت پروسههای بیشتر در برابر کمترین استفاده از رم است.
وب سرور انجینکس، درخواستها را با استفاده از یک پروسه جداگانه ایجاد نمیکند بلکه، با استفاده از راهکارهای متفاوت در یک thread مجزا درخواستها را مدیریت میکند.
بیشتر شرکتهای معروف، وب سرور انجینکس را بر روی سرور خود نصب نمودهاند. به این دلیل که اساس عملکرد این وب سرور در بهینه سازی سیستم performance بوده است، و در برابر انواع وب سرورهای دیگر ر از محبوبیت بیشتری برخوردار است. به همین خاطر پیشنهاد میشود در هنگام خرید هاست و دامین، استفاده از این وب سرور را مد نظر داشته باشید.
درست زمانی که وب سرور Nginx به عنوان یک وب سرور منبع باز منتشر شد، کاربری از صفحات اینترنتی HTML به محتوای چند وجهی و پویا نیز ارتقا پیدا کرد. این پیشرفت موجبات رشد را فراهم نمود و بر این اساس امروزه شاهد آن هستیم که وب سرور انجینکس از تمام اجزای وب پیشرفته مانند (HTTP / 2)، (WebSocket)، (gRPC) و غیره پشتیبانی میکند.
به همین منظور، پس از خرید سرور و انتخاب و ثبت دامنه، میتوانید به آسانی بر روی سرورهای خصوصی خود و یا vps انجین وب سرور انجینکس را نصب نمایید. نکتههای اهمیتی که میتوان به آن اشاره داشت این است که اگر از دامنه ir استفاده میکنید، کاربری از وب سرور انجینکس و استفاده از مزایای آن، میتواند برای شما میسر باشد.
در ادامه مقاله، شما با نحوه نصب و کاربری از وب سرور بر روی سیستمعامل Ubuntu 20.04و سرور انجینکس بر روی 3 توزیع لینوکس آشنا خواهید شد.
نصب وب سرور Nginx بر روی اوبونتو 20.04 در مراحل زیر امکان پذیر است.
در ابتدای نصب قبل از هر اقدامی به عنوان پیشنیاز، لازم است فرایند را با استفاده از یک یوزر (غیر از root) معمولی به همراه دسترسیهای sudoآغاز نمایید.
نصب وب سرور Nginxبر روی centOS 8
بستههای مورد نیاز به همراه اوبونتو ارائه میشوند. به همین خاطر با اجرای دستورالعملهای زیر، نصب وب سرور انجینکس کار سختی نیست. یادتان باشد که حتما Package های مورد استفاده خود را بهروزترین ورژن Updateکنید.
شما میتوانید آخرین نسخه Nginxرا با مراجعه به وبسایت دریافت نمایید.
ابتدا باید بستههای زیر را نصب نمایید.
sudo apt update
sudo apt install Nginx
پس از نصب، وضعیت Nginx را با اجرای دستورات زیر بررسی کنید:
sudo systemctl status Nginx
جواب بررسی به شکل زیر برای شما نمایش داده خواهد شد:
Nginx.service – A high performance web server and a reverse proxy server
Loaded: loaded (/lib/systemd/system/Nginx.service; enabled; vendor preset: enabl>
Active: active (running) since Fri 2020-05-01 22:44:46 CDT; 10s ago
Docs: man:Nginx(8)
Main PID: 3361 (Nginx)
Tasks: 2 (limit: 4657)
Memory: 3.2M
CGroup: /system.slice/Nginx.service
├─3361Nginx: master process /usr/sbin/Nginx -g daemon on; master_proces>
└─3362Nginx: worker process
در ادامه اگر قصد دارید سرویسهای Nginx را متوقف کنید، اجرایی دستور زیر را دنبال نمایید:
sudo systemctl stop Nginx
اگر قصد شروع را داشتید، دستور زیر را وارد کنید:
sudo systemctl start Nginx
برای اجرای شروع مجدد، دستور زیر را وارد کنید:
sudo systemctl restart Nginx
اگر قصد دارید بدون اجرای مجدد، نصب پیکربندی جدیدی داشته باشید، اجرای دستور Reload میتواند به کمک شما بیاید:
sudo systemctl reload Nginx
توجه داشته باشید، در صورتی که توسط فایروال سرور اوبونتو شما محافظت میشود، باید پورتهای HTTP 80و و HTTP 443باز کنید. این حرکت موجب میشود که بتوانید با Nginx ارتباط داشته باشید. در ادامه اجرای دستور زیر در شرایط استفاده از فایروال پیش فرض اوبونتو پیشنهاد میشود.
sudo ufw allow ‘Nginx Full’
در آخر برای این که بتوانید صحت نصب Nginx را بررسی کنید، لازم است در مرورگر خود نام میزبان یا آدرس IP سرور را جستجو نمایید.
http://localhost
در ابتدا لازم است که موارد زیر را به عنوان پیشنیاز نصب نمایید:
1. راهاندازی فایروال پایه : در ادامه بعد از ورود به سرور، شما با راهکار اندازی فایروال پایه آشنا میشوید.
2. راهاندازی و نصب Putty : زمانیکه Putty را نصب نمایید و به ان دسترسی داشته باشید، میتوانید به سرور وارد شده و مراحل نصب Nginx را دنبال نمایید.
گام اول: دستور زیر را در سرور CentOS 8 معرفی نمایید.
dnf install firewalld -y
گام دوم: پس از نصب پکیجهای فایروال، با معرفی دستور زیر فایروال و پکیجها راهاندازی خواهند شد. این فرمان فرایند راهاندازی را به حالت اتوماتیک اجرا خواهد کرد.
systemctl start firewalld
گام سوم: در این مرحله، برای کسب اطمینان فعال شدن سرویس فایروال، فرمان زیر را وارد نمایید.
systemctl status firewalld
گام چهارم: با استفاده از دستور زیر میتوانید پورت عادی 80 را باز کنید.
firewall-cmd --permanent --add-service=http
قبل از بیان ویژگیهای Nginx، این نکته میتواند مهم باشد که امروزه شرکتها و پلتفرمهای معروفی مانند داک داک گو DuckDuckGo، آی بی ام IBM، فیس بوک FaceBook، گوگل Google، مایکروسافت Microsoft، لینکدین Linkedin ، توییتر Twitter، ادوبی Adobe و غیره هستند که نسبت به استفاده از آپاچی Apache، کاربری از وب سرور Nginx را ترجیح میدهند.
در ادامه با برخی از ویژگیهای Nginx آشنا خواهید شد.
· قابلیت عملکرد بالا با توجه به عدم نیاز به منابع زیاد
· قابلیت مقابله با حملات DDoS
· قابلیت مدیریت و پشتیبانی از هزاران اتصال همزمان
· قابلیت اجرای نمایه سازی بهصورت خودکار
· قابلیت پشتیبانی با سرعت از CGI
· قابلیت مقیاس پذیری مطلوب
· قابلیت سازگاری با IPv6
· قابلیت برخورداری از پورت API
· قابلیت برخورداری از سوکتهای WEB
· قابلیت پشتیبانی از انواع STARTTL
· قابلیت پشتیبانی از SSL/TLS
· قابلیت پردازش و تحلیل دادههای XSLT
· قابلیت احراز هویت بهوسیله کاربری از سرور Httpخارجی
· قابلیت رویداد محور دارد و با استفاده از event-driven، و درخواستهای مختلف کاربران را پشتیبانی میکند.
· قابلیت سرویسدهی محتواهای استاتیک با استفاده از راهکار مبتنی بر فایل
· قابلیت پشتیبانی از تمامی سیستمعاملهای Unix
· قابلیت پشتیبانی با استفاده از انواع فرومها و mailing listو IRC و stack overflow
وب سرور Nginx از یک ساختار asynchronous مبتنی بر رویداد event-drivenبرخوردار است، میتواند تحلیلهای زیادی را به طور همزمان ممکن نماید. از طرف دیگر فعالیت وب سرور Nginx در جایگاه پروکسی معکوس، پروکسی ایمیل و لودبالانسینگ معرفی میشود و از قابلیت مقیاسپذیری برخوردار بوده و خدمات آن میتواند با توجه به ترافیک مشتریان پوششدهی مطلوبی را به همراه داشته باشد.