اگر بخواهید به طور خلاصه بدانید NGINX چیست، Nginx یک نرم افزار منبعباز (Open source) هست و به عنوان سرویسدهنده وب، پراکسی معکوس (reverse proxying)، سیستم کش (caching)، سیستم load balancing، و شبکه رسانهای (media streaming) و … استفاده میشود. همچنین برای این که بدانید nginx چیست باید در نظر بگیرید که Nginx به عنوان یک وبسرور با ارائه حداکثر کارایی (performance) و پایداری (stability) طراحی شده است. در این مقاله به شما خواهیم گفت انجین ایکس چیست و چگونه کار میکند و در ادامه با نحوه نصب آن روی ابونتو و سنتاواس آشنا خواهیم شد.
علاوه بر قابلیت HTTP سرور، NGINX میتواند به عنوان یک پروکسی سرور برای سرویس ایمیل (IMAP، POP3 و SMTP ) و نیز یک پروکسی معکوس و یا سیستم لودبالانس برای سرورهای HTTP، TCP و UDP عمل کند.
Nginx یک وب سرور متنباز و قدرتمند است که بهعنوان یک وب سرور، ریورس پروکسی و لود بالانسر استفاده میشود. این نرمافزار در ابتدا در سال ۲۰۰۴ توسط ایگور سیسویف توسعه داده شد تا مشکل مدیریت درخواستهای همزمان در سرورهای پر ترافیک را حل کند. برخلاف سرورهای سنتی که برای هر درخواست یک پردازش جدید ایجاد میکنند، Nginx از مدل رویدادمحور (Event-Driven) و غیرهمزمان (Asynchronous) استفاده میکند که باعث مصرف کمتر منابع و افزایش کارایی آن شده است.
یکی از مهمترین ویژگیهای Nginx سرعت بالای آن در پردازش درخواستها است. این وب سرور قادر است هزاران اتصال همزمان را با حداقل مصرف حافظه و پردازش مدیریت کند. به همین دلیل، امروزه بسیاری از سایتهای پربازدید و سرویسهای ابری از Nginx برای افزایش سرعت و عملکرد خود استفاده میکنند. همچنین، این وب سرور از پروتکلهای مدرنی مانند HTTP/2 و WebSocket پشتیبانی میکند که باعث بهبود تجربه کاربران میشود.
علاوه بر عملکرد فوقالعاده در میزبانی سایتها، Nginx گزینهای ایدهآل برای استفاده بهعنوان ریورس پروکسی و لود بالانسر محسوب میشود. این ویژگیها به سازمانها کمک میکنند که درخواستهای کاربران را بین چندین سرور توزیع کنند، فشار روی منابع را کاهش دهند و امنیت سایت را افزایش دهند. انعطافپذیری بالا و تنظیمات گسترده Nginx آن را به یکی از محبوبترین راهکارهای میزبانی وب تبدیل کرده است.
وب سرور چیست؟
از نظر سخت افزاری وب سرور، نوعی سرور میباشد که نرم افزارهای وب سرور و فایلهای component مربوط به وب سایت نظیر اسناد HTML ، تصاویر ، شیوه نامه های CSS و پرونده های جاوا اسکریپت و… را ذخیره میکند. وب سرور به اینترنت متصل می شود و از تبادل داده های فیزیکی با سایر دستگاههای متصل به وب پشتیبانی میکند.
وب سرور انجین ایکس چیست؟
Nginx، به صورت engine-ex تلفظ میشود و یک وب سرور منبع باز است. از زمان ارائه موفق و اولیه خود به عنوان وب سرور کاربرد داشته و همانطور که اشاره شد اکنون به عنوان پروکسی معکوس، حافظه کش HTTP و سیستم توازن بار (Load Balancing) در انواع سرور مجازی نیز استفاده میشود.
تفاوتی ندارد شما خرید سرور مجازی آلمان را انجام دادهاید یا خرید سرور مجازی ایران، در همه موارد میتوانید از Nginx استفاده کنید.
امروزه بسیاری از شرکتهای مشهور بر روی انواع سرور اختصاصی از Nginx استفاده میکنند.(برای اینکه بدانید سرور چیست اینجا کلیک نمایید.)
Nginx در ابتدا توسط Igor Sysoev ایجاد شد و اولین ارائه عمومیآن در اکتبر۲۰۰۴ انجام شد. ایگور اولین بار این نرم افزار را به عنوان راه حلی برای مشکل C10k ارائه داد (مشکل مربوط به مسئله عملکرد مدیریت ۱۰ هزار اتصال همزمان است.)
از آنجا که اساس و بنیان nginx در بهینه سازی عملکرد سیستم (performance) است، این وب سرور از سایر وبسرورهای محبوب، (خصوصاً در موقعیتهایی که دارای محتوای استاتیک و یا درخواستهای همزمان بالایی هستند)، بهتر عمل کرده و به همین دلیل ما نیز از Nginx به عنوان سرور میزبانی وب خود استفاده میکنیم.
از زمان انتشار اصلی NGINX، وب سایتها از صفحات ساده HTML به محتوای پویا و چند وجهی گسترش یافتهاند.
NGINX نیز همراه با آن رشد کرده و اکنون از تمام اجزای وب مدرن، از جمله WebSocket، HTTP / 2، gRPC و پخش چند فرمت ویدیویی (HDS، HLS، RTMP و سایر موارد) نیز پشتیبانی میکند.
تفاوت nginx و آپاچی
هدف اصلی NGINX ایجاد سریعترین وب سرور در دنیای اینترنت بود و حفظ این برتری هنوز هم هدف اصلی این پروژه است. NGINX به طور مداوم Apache و سایر وب سرورها را در معیارهای اندازه گیری عملکرد وب سرور به چالش میکشاند.
تفاوت اصلی بین Apache و NGINX در معماری طراحی آنها نهفته است. Apache از یک رویکرد فرآیند محور (process-driven) استفاده میکند و یک thread جدید برای هر درخواست ایجاد میکند. در حالی که NGINX از یک معماری مبتنی بر رویداد (event-driven) استفاده میکند تا بتواند چندین درخواست را در یک thread مدیریت کند.
برای اینکه بدانید nginx بهتر است یا آپاچی، باید گفت در مقایسه بین وب سرور nginx و apache، با نگاهی به ارقام، به جرات میتوان گفت در صورت ارائه محتوای ثابت یا استاتیک، Nginx برنده نهایی است!
در صورت نیاز به ارائه محتوای پویا یا dynamic نیز میتوان با توجه به آمار زیر به این نتیجه رسید که هر دو وب سرور nginx و آپاچی در پردازش محتوای پویا عالی هستند.
مقایسه آمار استفاده از آپاچی و انجین ایکس
Nginx از زمان انتشار آن، به دلیل استفاده از منابع سبک و توانایی مقیاس گذاری آسان در حداقل سخت افزار، به محبوبیت بیشتری رسیده است. Nginx در ارائه سریع محتوای استاتیک عالی عمل میکند و برای انتقال درخواستهای پویا به سایر نرم افزارهایی که برای آن اهداف مناسب تر هستند، طراحی شده است.
امروزه شرکتهای بزرگی از قبیل GitLab، DuckDuckGo، Microsoft، IBM، Google، Adobe، Salesforce، VMWare، زیراکس، LinkedIn، سیسکو، فیس بوک، Target، Citrix Systems، توییتر، اپل، اینتل و … از nginx استفاده میکنند.
Apache یکی دیگر از وب سرورهای محبوب، شناخته شده و منبع باز است. از لحاظ آمار استفاده، آپاچی محبوب ترین وب سرور است که به گفته W3Techs ، حدود 43.6٪ از وب سایتهایی که از وب سرورهای شناخته شده در جهان، استفاده می کنند، را شامل میشود. Nginx با 41.8 درصد در مکان دوم قرار دارد.
همچنینی سایت Netcraft بررسی خود را روی حدود 233 میلیون دامنه انجام داده و میزان استفاده از Apache توسط کاربران را 31.54٪ و Nginx را 26.20٪ تخمین زده است.
به طور خلاصه میتوان گفت هر دو Apache و NGINX قدرتمند، انعطاف پذیر و توانمند هستند. آخرین نسخههای هر دو سرور در همه زمینهها قابل رقابت هستند. تصمیم گیری در مورد مناسب ترین سرور برای شما تا حد زیادی مبنی بر ارزیابی نیازهای شما و تصمیم گیری در مورد بهترین گزینه است.
تفاوت Nginx با سایر وب سرورها
یکی از مهمترین تفاوتهای Nginx با وب سرورهایی مانند Apache در نحوه پردازش درخواستها است. Apache از مدل پردازش همزمان (Thread-Based) استفاده میکند، که در آن هر درخواست جدید یک پردازش جداگانه ایجاد میکند. این روش در حجم کاری کم عملکرد خوبی دارد اما در شرایطی که تعداد درخواستها بالا باشد، باعث افزایش مصرف منابع و کاهش سرعت پاسخگویی میشود. در مقابل، Nginx از مدل رویدادمحور و غیرهمزمان استفاده میکند که میتواند هزاران درخواست را بهصورت کارآمد مدیریت کند.
سرعت بالاتر و مصرف منابع کمتر از دیگر مزیتهای کلیدی Nginx نسبت به سایر وب سرورها است. برای مثال، در شرایطی که یک سرور به حجم زیادی از درخواستهای HTTP پاسخ میدهد، Nginx عملکرد بهتری نسبت به Apache دارد. این وب سرور بهویژه در ارائه محتوای استاتیک مانند تصاویر، فایلهای CSS و JavaScript بسیار سریعتر عمل میکند، چرا که میتواند این فایلها را بدون نیاز به پردازشهای اضافی مستقیماً به مرورگر کاربران ارسال کند.
علاوه بر این، مقیاسپذیری (Scalability) یکی دیگر از نقاط قوت Nginx است. در حالی که Apache معمولاً برای پردازش تعداد زیادی اتصال همزمان نیاز به سختافزار قوی دارد، Nginx میتواند بدون نیاز به منابع زیاد همان حجم درخواستها را مدیریت کند. این ویژگی باعث شده است که بسیاری از شرکتهای بزرگ و پلتفرمهای محبوب اینترنتی مانند Netflix، Dropbox و WordPress از Nginx برای مدیریت ترافیک خود استفاده کنند.
نقشهای مختلف Nginx
وب سرور (Web Server): Nginx میتواند بهعنوان یک وب سرور کامل عمل کند که وظیفه پردازش و ارائه محتوای وبسایتها را بر عهده دارد. در این نقش، Nginx مخصوصاً برای ارائه محتوای استاتیک مانند تصاویر، فایلهای CSS و JavaScript بسیار بهینه است و سرعت لود صفحات را افزایش میدهد.
ریورس پروکسی (Reverse Proxy): یکی از پرکاربردترین نقشهای Nginx، استفاده از آن بهعنوان ریورس پروکسی است. در این حالت، Nginx بهعنوان واسطهای بین کاربران و سرورهای داخلی عمل میکند. این روش به افزایش امنیت، کاهش بار سرور اصلی و بهبود سرعت پاسخگویی کمک میکند. بسیاری از وبسایتهای بزرگ مانند Google و Facebook از این قابلیت استفاده میکنند.
لود بالانسر (Load Balancer): Nginx میتواند بار ترافیکی را بین چندین سرور توزیع کند تا عملکرد سایت پایدار بماند و از خرابیهای احتمالی جلوگیری شود. به کمک این قابلیت، سایتهای پربازدید میتوانند بدون مشکل به هزاران کاربر پاسخ دهند. این ویژگی مخصوصاً برای سرویسهای ابری و اپلیکیشنهای تحت وب بسیار مفید است.
کشینگ (Caching): Nginx امکان ذخیرهسازی دادههای پربازدید را دارد تا بتواند درخواستهای تکراری را سریعتر پاسخ دهد. این قابلیت باعث کاهش تأخیر، افزایش سرعت بارگذاری صفحات و کاهش بار روی سرور اصلی میشود. بسیاری از سایتهای خبری و فروشگاهی از این ویژگی برای بهینهسازی عملکرد خود استفاده میکنند.
سرور استریمینگ (Streaming Server): Nginx قابلیت ارائه محتوای ویدیویی و صوتی را نیز دارد. با استفاده از این وب سرور، میتوان فایلهای چندرسانهای را بدون افت کیفیت و با حداقل مصرف پهنای باند در اختیار کاربران قرار داد. این ویژگی مخصوصاً برای سرویسهای استریم آنلاین مانند YouTube و Twitch بسیار کاربردی است.
نحوه کار nginx
Nginx به دلیل استفاده از مدل معماری غیرهمزمان و رویدادمحور یکی از سریعترین و بهینهترین وب سرورهای موجود است. برخلاف مدل پردازش سنتی که در آن هر درخواست جدید منجر به ایجاد یک پردازش جداگانه یا یک تَرد (Thread) جدید میشود، Nginx از یک فرآیند اصلی (Master Process) و چندین فرآیند کاری (Worker Process) استفاده میکند که بهصورت کارآمد درخواستها را مدیریت میکنند. این طراحی باعث افزایش سرعت، کاهش استفاده از منابع و مدیریت بهینه ترافیک وب میشود. به همین دلیل، بسیاری از وبسایتهای بزرگ و پرترافیک مانند Netflix، WordPress و Airbnb از این وب سرور استفاده میکنند.
یکی از دلایل اصلی کارایی بالای Nginx، حلقه رویداد (Event Loop) آن است. در مدل پردازش سنتی (مانند Apache)، هر درخواست نیازمند یک پردازش مستقل است، که در بار کاری بالا میتواند باعث مصرف زیاد حافظه و افت سرعت شود. اما در Nginx، پردازشها بهصورت غیرمسدودکننده (Non-Blocking) و رویدادمحور (Event-Driven) هستند، به این معنی که یک پردازش واحد میتواند هزاران اتصال همزمان را بهطور همزمان و بدون تأخیر کنترل کند. این رویکرد باعث میشود Nginx در محیطهایی با ترافیک بالا، عملکرد بهینهتری داشته باشد.
در ساختار Nginx، فرآیند اصلی (Master Process) مسئول مدیریت فرآیندهای کاری و خواندن فایلهای پیکربندی است. در مقابل، فرآیندهای کاری (Worker Processes) درخواستها را پردازش کرده و پاسخها را به کاربران ارسال میکنند. به دلیل این ساختار، Nginx میتواند با یک معماری سبک، تعداد زیادی درخواست را پردازش کند و از کمترین میزان پردازش و حافظه استفاده کند. در نتیجه، در مقایسه با سرورهای سنتی، Nginx میتواند تعداد بسیار بیشتری اتصال همزمان را بدون افت عملکرد مدیریت کند.
Nginx همچنین از چندین حالت پردازش برای مدیریت بار کاری استفاده میکند. بهطور مثال، در حالت worker_connections میتوان تعداد حداکثری اتصالهایی که هر فرآیند کاری میتواند مدیریت کند را مشخص کرد. این ویژگی به مدیران سرور این امکان را میدهد که میزان مصرف منابع را با دقت کنترل کرده و عملکرد سرور را مطابق با نیاز خود بهینه کنند. به همین دلیل، در سرویسهایی مانند CDNها، سرورهای استریم ویدیو و سایتهای پرمخاطب از Nginx بهعنوان راهکاری بهینه استفاده میشود.
علاوه بر نقش وب سرور، Nginx بهعنوان یک ریورس پروکسی (Reverse Proxy) نیز کاربرد دارد. در این حالت، Nginx بهعنوان یک واسطه میان کاربران و سرورهای اصلی عمل میکند. یعنی درخواستهای کاربران را دریافت کرده، پردازشهای امنیتی و بهینهسازی را روی آنها انجام داده و سپس به سرورهای پسزمینه ارسال میکند. این روش باعث افزایش امنیت، کاهش فشار روی سرور اصلی و توزیع بهینه درخواستها بین چندین سرور میشود.
یکی دیگر از کاربردهای کلیدی Nginx، لود بالانسینگ (Load Balancing) یا توزیع بار میان چندین سرور است. در این سناریو، وقتی درخواستهای زیادی به سمت یک سرور ارسال میشود، Nginx بهطور هوشمند درخواستها را بین چندین سرور مختلف توزیع میکند تا هیچ سروری بیش از حد بارگیری نشود. این ویژگی به افزایش پایداری، سرعت و قابلیت اطمینان سرویسها کمک میکند و باعث میشود که وبسایتها و برنامههای تحت وب بتوانند با کمترین زمان قطعی (Downtime) به کار خود ادامه دهند.
در نهایت، قابلیت کشینگ (Caching) یکی دیگر از ویژگیهای حیاتی Nginx است. در این حالت، Nginx میتواند پاسخهای پویا یا استاتیک را در حافظه ذخیره کند تا برای درخواستهای بعدی نیاز به پردازش مجدد نباشد. این ویژگی باعث کاهش بار روی سرورهای پسزمینه و افزایش سرعت لود صفحات میشود. به همین دلیل، بسیاری از سایتهای فروشگاهی و خبری که ترافیک بالایی دارند، از Nginx برای ذخیره محتوای تکراری و کاهش زمان پاسخگویی استفاده میکنند.
نصب Nginx در لینوکس
Nginx یک وب سرور قدرتمند و پرسرعت است که در سیستمعاملهای لینوکس بهراحتی قابل نصب و پیکربندی است. با توجه به محبوبیت بالای Nginx، اکثر توزیعهای لینوکس، بستههای Nginx را در مخازن رسمی خود دارند و میتوان آن را تنها با چند دستور ساده نصب کرد. فرآیند نصب بسته به توزیع مورد استفاده، ممکن است کمی متفاوت باشد اما در کل، شامل دانلود و نصب بسته Nginx، فعالسازی و راهاندازی آن است.
پس از نصب Nginx، این وب سرور بهطور خودکار شروع به کار میکند و یک صفحه پیشفرض (Welcome Page) نمایش میدهد که نشاندهنده موفقیتآمیز بودن فرآیند نصب است. همچنین، میتوان وضعیت سرویس Nginx را با استفاده از دستورات سیستمعامل بررسی کرد و در صورت نیاز آن را راهاندازی مجدد کرد. یکی از مزایای اصلی Nginx این است که تنظیمات پیشفرض آن برای بسیاری از سایتهای کوچک و متوسط کافی است و تنها در موارد خاص نیاز به تغییرات پیشرفتهتر خواهد بود.
قبل از نصب، همیشه توصیه میشود که مخازن سیستم را بهروز کنید تا آخرین نسخه از بستههای نرمافزاری نصب شود. این کار باعث جلوگیری از مشکلات ناسازگاری و بهبود امنیت سیستم میشود. بهعنوان مثال، در توزیعهای مبتنی بر Debian (مانند اوبونتو)، میتوان با اجرای دستور sudo apt update مخازن را بهروز کرد.
نصب روی اوبونتو / دبیان
برای نصب Nginx در سیستمعاملهای اوبونتو و دبیان، ابتدا باید مخازن نرمافزاری سیستم را بهروزرسانی کرد تا آخرین نسخه موجود از Nginx در دسترس باشد. این کار با اجرای دستور زیر در ترمینال انجام میشود:
sudo apt update
پس از اطمینان از بهروزبودن مخازن، میتوان با اجرای دستور زیر، بسته Nginx را نصب کرد:
sudo apt install nginx -y
این دستور بهطور خودکار بسته Nginx و وابستگیهای موردنیاز آن را دانلود و نصب میکند.
پس از اتمام نصب، Nginx باید بهصورت خودکار اجرا شود. میتوان وضعیت اجرای آن را با دستور زیر بررسی کرد:
systemctl status nginx
اگر سرویس اجرا نشده باشد، میتوان آن را بهصورت دستی با استفاده از دستور sudo systemctl start nginx راهاندازی کرد. همچنین، برای اطمینان از اجرای خودکار Nginx پس از هر بار راهاندازی سیستم، دستور زیر را اجرا کنید:
sudo systemctl enable nginx
پس از این مراحل، میتوانید با واردکردن آدرس IP سرور یا localhost در مرورگر، صفحه خوشآمدگویی Nginx را مشاهده کنید.
پیکربندی اولیه Nginx
پس از نصب Nginx، برای میزبانی سایت یا برنامههای وب، باید تنظیمات سرور را در فایلهای پیکربندی آن انجام دهید. فایل اصلی تنظیمات در مسیر /etc/nginx/nginx.conf قرار دارد.
علاوه بر این، برای هر سایت یا دامنه، یک فایل پیکربندی جداگانه در مسیر /etc/nginx/sites-available/ ایجاد میشود که باید به مسیر /etc/nginx/sites-enabled/ لینک شود تا فعال گردد.
پیشفرض، Nginx به پورت 80 گوش میدهد که همان پورت HTTP است. اگر قصد دارید از HTTPS استفاده کنید، باید گواهینامه SSL/TLS را فعال کرده و پورت 443 را برای ترافیک امن پیکربندی کنید.
برای اعمال تغییرات پیکربندی، پس از ویرایش فایلها، باید Nginx را با دستور زیر بارگذاری مجدد (Reload) کرد تا تغییرات اعمال شوند:sudo systemctl reload nginx
اگر تغییرات گستردهتری انجام دادهاید، بهتر است از دستور restart استفاده کنید:
sudo systemctl restart nginx
یک مثال کامل از پیکربندی سرور
در اینجا یک مثال از فایل تنظیمات Nginx برای میزبانی یک سایت ساده آورده شده است
server {
listen 80;
server_name example.com;
root /var/www/example;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
در این پیکربندی
پورت 80 برای دریافت درخواستهای HTTP تنظیم شده است.
دامنه example.com تعریف شده است.
مسیر روت سایت /var/www/example مشخص شده است.
درخواستهایی که به مسیرهای ناموجود اشاره دارند، با خطای 404 مواجه میشوند.
برای فعالسازی این پیکربندی، فایل را در مسیر /etc/nginx/sites-available/ ذخیره کنید و سپس یک لینک به مسیر /etc/nginx/sites-enabled/ ایجاد نمایید:
sudo ln -s /etc/nginx/sites-available/example /etc/nginx/sites-enabled/
در نهایت، سرویس Nginx را بارگذاری مجدد کنید تا تغییرات اعمال شوند.
استفاده از Nginx بهعنوان ریورس پروکسی
Nginx علاوه بر اینکه یک وب سرور فوقالعاده است، میتواند بهعنوان ریورس پروکسی (Reverse Proxy) نیز عمل کند. این یعنی درخواستهای کاربران را دریافت کرده و به سرورهای پسزمینه هدایت میکند.
یک نمونه پیکربندی برای استفاده از Nginx بهعنوان ریورس پروکسی برای سرور Node.js در پورت 3000 بهصورت زیر است:
server {
listen 80;
server_name example.com;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
در این پیکربندی، تمام درخواستهای ورودی به example.com به پورت 3000 سرور داخلی ارسال میشوند که معمولاً یک برنامه تحت وب در حال اجرا است. این روش در معماری Microservices بسیار کاربرد دارد.
بهینهسازی عملکرد Nginx
برای افزایش کارایی و سرعت Nginx، میتوان از چندین تکنیک بهینهسازی استفاده کرد. یکی از این تکنیکها، فعالسازی فشردهسازی Gzip است که باعث کاهش حجم دادههای ارسالی به مرورگر کاربران میشود:
gzip on;
gzip_types text/plain text/css application/json application/javascript;
علاوه بر این، افزایش مقدار worker_connections در فایل تنظیمات /etc/nginx/nginx.conf میتواند تعداد اتصالات همزمان مجاز را بالا ببرد:
worker_processes auto;
worker_connections 10240;
برای بهینهسازی کشینگ محتوای استاتیک، میتوان از Cache-Control استفاده کرد:
location ~* \.(jpg|jpeg|png|gif|ico|css|js)$ {
expires max;
log_not_found off;
}
این تکنیکها باعث کاهش مصرف پهنای باند، افزایش سرعت پاسخدهی و بهبود عملکرد کلی سرور خواهند شد.
آموزش نصب nginx بر روی اوبونتو 20.04
نصب Nginx ساده و راحت است. از آنجا که بستههای مربوطه (packages) ر روی اوبونتو ارائه میشوند، برای نصب به سادگی میتوانید دستورات زیر را اجرا کنید.
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
├─3361 nginx: master process /usr/sbin/nginx -g daemon on; master_proces>
└─3362 nginx: worker process
برای اطلاع از نحوه متوقف کردن، شروع، راه اندازی مجدد سرویسهای Nginx، دستورات زیر مفید خواهند بود.
برای متوقف کردن سرویسهای 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
آموزش نصب nginx بر روی centOS 8
روش نصب وب سرور Nginx در CentOS Linux 8 به شرح زیر است.
نگه داشتن سیستم، کرنل و بهروزرسانی همه بستههای نصب شده برای امنیت یک کار اساسی ادمین است. بنابراین ابتدا سیستم را به روز کنید، جهت این کار دستورات زیر را اجرا کنید:
sudo yum updateinfo
sudo yum update
sudo reboot
با استفاده از دستور ssh به سرور خود وارد شوید:
ssh user@server-ip
بسته Nginx را جستجو کنید:
sudo yum search nginx
بسته nginx را با استفاده از دستور yum در CentOS 8 نصب کنید:
sudo yum install nginx
تنظیمات فایروال را به روز کنید و پورت TCP 80 و ۴۴۳ را باز کنید.
sudo firewall-cmd –permanent –zone=public –add-service=https –add-service=http
sudo firewall-cmd –reload
چگونه متوجه شویم وبسرور nginx در حال استفاده است یا آپاچی؟
جهت بررسی اینکه آیا روی سرور شما Nginx یا Apache اجرا میشود ساده است. در اکثر وب سایتها، به سادگی میتوانید هدر HTTP سرور را بررسی کنید تا ببینید آیا روی آن Nginx یا Apache نوشته شده است.
جهت این کار با باز نمودن برگه شبکه در Chrome Devtools میتوانید هدرهای HTTP را مشاهده کنید. یا میتوانید سرصفحهها را در ابزاری مانند Pingdom یا GTmetrix نیز بررسی کنید.
کلام آخر
Nginx با استفاده از معماری غیرهمزمان و رویدادمحور، یکی از سریعترین و کارآمدترین وب سرورها محسوب میشود. این ساختار باعث میشود که Nginx درخواستهای بسیار زیادی را بدون افت عملکرد مدیریت کند و در نقشهای وب سرور، ریورس پروکسی، لود بالانسر و کشینگ بهینه عمل کند. این ویژگیها، Nginx را به گزینهای ایدهآل برای سایتهای پرترافیک، اپلیکیشنهای تحت وب و سرویسهای ابری تبدیل کرده است.
NGINX یک وب سرور است که به عنوان پروکسی ایمیل، پروکسی معکوس و لودبالانسینگ نیز عمل میکند. ساختار این نرم افزار ناهمگام (asynchronous) و مبتنی بر رویداد (event-driven) است که پردازش همزمان بسیاری از درخواستها را امکان پذیر میکند. NGINX نیز بسیار مقیاسپذیر است، به این معنی که خدمات آن همراه با ترافیک مشتریان خود رشد میکند. NGINX و Apache هر دو از بهترین وب سرورهای بازار هستند.
با خرید سرور مجازی وبرمز، وبسایت خود را به یک ابرقدرت آنلاین تبدیل کنید و از سرعت، امنیت و پایداری بینظیر لذت ببرید.
سلام. ممنون بابت توضیحات کامل و جامع
ممنون از همراهی شما 🌺
عالی بود خیلی ممنون