صفحه اصلی

با انواع وب سرورهای لینوکسی آشنا شوید

۰۳ مهر ۱۳۹۸

در آموزش های قبلی درباره انواع سیستم عامل های لینوکسی و کاربرد آن ها در راه اندازی کسب و کار میزبانی وب و فروش سرویس های VPS پرداختیم. در این آموزش شما را با تعریف وب سرور و انواع وب سرورهای پر کاربرد لینوکسی آشنا میکنیم.

وب  سرور چیست؟

وب سرور یک نوع برنامه است که از HTTP (Hypertext Transfer Protocol) برای ایجاد صفحات وب برای کاربرانی که درخواست HTTP را از طریق HTTP client شان (که همان مرورگر هستند) داده اند فراهم می آورد. محتوای اغلب صفحات وب به صورت HTML است. این محتوا میتواند ایستا (متن یا تصویر) و یا پویا (برای مثال قیمت محاسبه شده یا سبد خرید) باشد. وب سرورها برای ایجاد محتوای پویا از زبان های اسکریپتی سمت سرور از قبیل PHP، پایتون و یا Java Script استفاده میکنند. PHP معروفترین زبان برای پیاده سازی اغلب وب سایت ها است. به صورت ساده تر میتوان بیان کرد که برای اینکه بتوان صفحات وب را به نمایش گذاشت، به وب سرور نیاز است. علاوه بر آن از وب سرور برای کنترل درخواست های داده برای بقیه پروتکل ها از قبیل FTP (برای انتقال فایل) و SMTP (برای ارسال ایمیل) نیز استفاده میشود. در سیستم عامل لینوکس انواع وب سرورها وجود دارند که معروف ترین این وب سرور ها Apache است، البته هر کدام از این وب سرورها کاربردهای مختص به خود را دارند، برای مثال یک وب سرور برای محیط هایی مناسب است که تعداد درخواست ها بالا است، وب سرور دیگر برای سرور هایی مناسب تر است که منابع سخت افزار قوی تری دارد و یا وب سرور دیگر برای کش کردن مناسب تر است. شما باید بسته به نیازتان بهترین وب سرور را برای میزبانی وب استفاده کنید.

  1. Apache HTTP Server

همانطورکه بالاترگفتیم، Apache (که به آن httpd نیز گفته میشود) یکی از معروف ترین وب سرور های موجود در دنیای اینترنت است. این نرم افزار در سال 1995 منتشر شد. وب سرور Apache تقریبا 45 درصد انواع وب سایت هایی که در اینترنت موجود هستند را پوشش داده است. Apache ساختار ماژولار دارد یعنی با استفاده از ماژول هایی که به این وب سرور اضافه میکنید، میتوانید قابلیت های بیشتری از قبیل پشتیبانی از زبان های برنامه نویسی سمت سرور، احراز هویت و…. را اضافه کنید. Apache چندین زبان برنامه نویسی سمت سرور را پشتیبانی میکند که معروفترین آن ها PHP، Perl و پایتون هستند. البته بقیه زبان های برنامه نویسی مثل ASP.NET نیز با استفاده از انجام یک سری مراحل میتواند به عنوان reverse proxy استفاده شود یا علاوه بر آن با استفاده از ماژول mod_cgi اپلیکیشن های Java servlet را میزبانی کند. یکی از بهترین مزایای استفاده از Apache، قابلیت نصب روی انواع پلتفرم ها شامل لینوکس، ویندوز، مک و … است. به ویژگی برتر دیگر Apache که میتوان اشاره کرد، وجود فایل .htaccess برای پیکربندی به ازای هر دایرکتوری است.

  1. NGINX

ایگور سایسئوو (Igor Syseov) در سال 2002 شروع به توسعه NGINX کرد که اولین نسخه آن در سال 2004 انتشار یافت. NGINX با این ایده توسعه یافت که مشکل C10K را حل کند. منظور از C10K حل سوال “چگونه وب سروری ایجاد میکنید که 10 هزار تا ارتباط همزمان را کنترل کند؟” است. تقریبا 40 درصد وب سایت ها از این وب سرور استفاده میکنند. Nginx از معماری event-driven (asynchronous) برای کنترل درخواستها به جای استفاده از thread بهره میگیرد تا هدف اصلی توسعه اش یعنی کنترل تعداد بسیار زیادی ارتباط همزمان را ممکن کند. این وب سرور روی سیستم عامل های UNIX، Linux، BSD، مک، Solaris و ویندوز اجرا میشود. علاوه بر ویژگی HTTP رایج، Nginx سرورهای مجازی (virtual server) مبتنی بر IP و نام، Piplined connection ها و FLV streaming را پشتیبانی میکند. ویژگی جالب دیگر آن قابلیت پیکربندی آنلاین بدون قطعی کلاینت ها است.

  1. Lighttpd

Lighttpd که lightly نیز تلفظ میشود در سال 2003 توسعه یافت. در حال حاضر تنها یک درصد وب سایت ها از این وب سرور استفاده میکنند. Lighttpd تحت لایسنس BSD است و روی Unix و Linux اجرا میشود. وب سرور lighttpd مشابه Nginx برای بهبود کارایی در زمان برقراری ارتباطات همزمان با تعداد بسیار زیاد ایجاد شده است و علاوه بر آن از معماری even-driven (asynchronous) بهره میگیرد. این وب سرور در حقیقت برای سرور هایی که مموری و CPU ضعیفی دارند بسیار مناسب است. تنها نقطه ضعف Lighttpd این است که تنها روی یک thread اجرا میشود، در این صورت اگر سرور قدرتمندی داشته باشید، این نرم افزار بقیه هسته های CPU را مد نظر نمیگیرد. علاوه بر آن برخی ویژگی هایی مثل SSL Proxy که NginX آن را پشتیبانی میکند، را ارائه نمیدهد.

جمع بندی

در اینجا به بررسی سه وب سرور پر کاربرد که بسیاری از سرویس های ارائه خدمات میزبانی وب و فروش VPS با آن سر و کار دارند پرداختیم. البته وب سرور های دیگری از قبیل Cherokee، Hiawatha و Monkey Server نیز در بازار وجود دارند اما چون کاربرد آن ها به مراتب از وب سرور های فوق کمتر است، از معرفی ویژگی آن ها صرف نظر کردیم. فقط بخاطر داشته باشید، بیشترین تفاوتی که یک وب سرور امن و بهینه با یک وب سرور ضعیف و نا امن دارد، تفاوت در پیکربندی آن ها است. بنابراین با آموزش های بعدی ما همراه باشید تا شما را با نحوه پیکربندی صحیح وب سرور های مختلف آشنا کنیم.

بیشتر بخوانید: بررسی تفاوت وب سرورهای NGINX و APACHE (قسمت اول)

دسته بندی ها : سرور
برچسب ها :

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *