وب سرور چیست + مقایسه انواع web server های لینوکس Linux
شاید برای شما هم این سوال به وجود آمده باشد که هنگامیکه یک وب سایت را در مرورگر خود باز می کنید، چه فرایندی طی می شود که محتوای آن نمایش داده شود؟ در واقع اگر بخواهیم به جزئیات این پروسه بپردازیم، قطعا در چندین و چند مقاله نیز امکان خلاصه کردن مطلب وجود نخواهد داشت! اما در این مقاله قصد داریم که مهمترین بخش این فرایند که همان وب سرور است را برای شما توضیح دهیم. لطفا با ما همراه باشید تا پاسخ پرسش web server یا وب سرور چیست و انواع وب سرور ها را با هم بررسی کنیم.
وب سرور چیست ؟
در پاسخ به سوال وب سرور چیست باید عنوان کنیم که وب سرور ، سخت افزار یا نرم افزار ی است که محتوای وب سایت را از طریق اینترنت در دسترس کاربران قرار می دهد و برنامه ای است که مهم ترین نقش را در یک سرویس میزبان وب به عهده دارد. نقش اصلی آن اینست که صفحات مختلف وب را به کاربران ارائه می دهد. ارتباط بین وب سرور و Client ها به کمک پروتکل Hypertext Transfer Protocol یا همان HTTP معروف میسر می گردد.
متداول ترین پروتکلی که برای انتقال اطلاعات از آن استفاده می شود، پروتکل HTTP است. مکانیسم این کار هم به این صورت است که یک وب سرور با استفاده از http فایلهای درخواستی از طرف کاربران را به سیستمهای آنها ارسال میکند. حال اگر با مفهوم وب سرور چیست به خوبی آشنا شدید، بیایید با هم انواع وب سرور ها را بررسی کنیم.
انواع web server ها
وب سرور ها انواع مختلفی دارند و بر روی سیستم عاملهایی همچون لینوکس، ویندوز، یونیکس و غیره نصب میشوند. تعدادی از مهمترین و پرکاربردترین وب سرور های موجود از نوع لینوکسی هستند. این محتوا میتواند ایستا یعنی به صورت متن یا تصویر، و یا پویا ( برای مثال قیمت محاسبه شده یا سبد خرید) باشد؛ همچنین این نکته ناگفته نماند که در سرور لینوکس نیز که یکی ازمحبوب ترین سرورهای مجازی برای برنامه نویسان و صاحبان وب سایت است از سیستم عامل لینوکس استفاده میشود.
وب سرور ها برای ایجاد محتوای پویا از زبان های اسکریپتی سمت سرور از قبیل PHP، پایتون و یا Java Script استفاده میکنند. PHP معروف ترین زبان برای پیاده سازی اغلب وب سایت ها است. به صورت ساده تر می توان بیان کرد که برای اینکه بتوان صفحات وب را به نمایش گذاشت، به وب سرور نیاز است. علاوه بر آن از وب سرور برای کنترل درخواست های داده برای بقیه پروتکل ها از قبیل FTP برای انتقال فایل و SMTP برای ارسال ایمیل نیز استفاده میشود.
انتخاب یک وب سرور مناسب برای راهاندازی یک وب سایت امری بسیار مهم است و به عوامل متعددی بستگی دارد. در این مقاله در مورد انواع وب سرور های لینوکس (Linux) صحبت خواهیم کرد و به مقایسه فاکتور هایی نظیر ثبات، امنیت، مالکیت آن ها که برای کاربران اهمیت دارد، بحث خواهیم کرد. در ادامهی مقالهی نرم افزار وب سرور چیست با ما همراه باشید.
سرور لینوکس چیست ؟
در ادامهی مقالهی منظور از وب سرور چیست قصد داریم تا با هم به بررسی سرور لینوکس بپردازیم. سرور لینوکس، سروری است که روی آن یکی از توزیعهای سیستم عامل لینوکس نصب شده است. روی چنین سروری معمولاً نرم افزار هایی هم نصب هستند که سرویسهایی ارائه میدهند. مثلاً ممکن است نرم افزار Apache یا Nginx نصب باشد که به کسانی که صفحهی وبی از روی سرور را درخواست میکنند، خدمات ارائه میدهد.
پس سرور لینوکس، یک رایانه است که همیشه به شبکهی اینترنت متصل است و حاوی نوع خاصی از سخت افزار و نرم افزار است. جالب است بدانید که سرورها در مرکز داده نگهداری میشوند. این مراکز، عموما اتاقهایی با نام اتاق سرور دارند که رایانههای سروری آنجا نگهداری میشوند. سرور لینوکس دارای سیستم عامل لینوکس است و معمولاً برای مدیریت آن ترجیح داده میشود که از خط فرمان استفاده شود. یعنی دستورات به صورت متنی به سرور ارسال شود.
انواع وب سرور های لینوکس (Linux)
در مقاله لینوکس چیست با سیستم عامل لینوکس آشنا شدید و باید بدانید در این سیستم عامل انواع web server های لینوکس (Linux) وجود دارند که معروف ترین این وب سرور ها Apache است.
البته هر کدام از این وب سرور های لینوکس (Linux) کاربردهای مختص به خود را دارند، برای مثال یک وب سرور برای محیط هایی مناسب است که تعداد درخواست ها بالا است، وب سرور دیگر برای سرور هایی مناسب تر است که منابع سخت افزاری قوی تری دارد و یا وب سرور دیگر برای کش کردن مناسب تر است. شما باید بسته به نیازتان بهترین وب سرور را برای میزبانی وب استفاده کنید.
بنابراین، در ادامه به مقایسه وب سرور های لینوکس خواهیم پرداخت.اما بایستی بدانید بیشتر شرکتهایی که خدمات میزبانی وب و سرور vps را ارائه میدهند، وب سرور های لینوکس (Linux) را براساس نیاز مشتریان، تعداد مشتریان در یک وب سرور واحد، برنامههای کاربردی و نرم افزار های مورد استفادهی مشتریان و مقدار ترافیک قابل پشتیبانی توسط یک وب سرور انتخاب میکنند.
از آنجاییکه انواع مختلفی از وب سرور های لینوکس (Linux) وجود دارد و هر کدام از آنها خدمات خاصی را ارائه میدهد، بنابراین مقایسه وب سرور های لینوکس میتواند به امر انتخاب یک وب سرور مناسب کمک کند. تنوع نیاز به سرویسهای مختلف اینترنتی باعث شده تا وب سرور های لینوکس مختلفی وجود داشته باشند که هر کدام خدمات خاص خود را ارائه میدهند و کاربردهای متفاوتی دارند. آشنایی با این وبسروها به شما کمک میکند وب سرور مناسب با نیاز خود را انتخاب کنید. حال اگر سوال شما این است که بهترین وب سرور چیست ما را در ادامه دنبال کنید تا به این سوال به مفصلترین شیوه پاسخ دهیم.
-
وب سرور آپاچی چیست ( Apache )
وب سرور Apache یکی از معروفترین وب سرور های لینوکس است که توسط تشکیلات نرمافزاری Apache توسعه داده شده است. Apache که یک نرمافزار منبع باز است تقریبأ از تمام سیستمهای عامل مثل Linux، Windows، Unix FreeBSD، Mac OS X و غیره پشتیبانی میکند. تقریبا 60 درصد از ماشینها در وب سرور Apache کار میکنند. به راحتی میتوانید یک وب سرور Apache را سفارشی کنید زیرا دارای یک ساختار ماژول (modular) است.
به دلیل این که یک نرم افزار منبع باز(open source) است، اگر بخواهید اصلاحاتی متناسب با نیازمندیهایتان انجام دهید، میتوانید ماژول هایتان را به سرور اضافه کنید. این وب سرور در مقایسه با انواع web server های لینوکس (Linux) دیگر به شدت پایدار است و مشکلات اجرایی در آن به راحتی حل میشود. میتوان Apache را با موفقیت در چند پلتفرم نصب کرد. آخرین نسخههای Apache در مقایسه با نسخههای ابتداییتر آن به شما انعطافپذیری لازم برای پاسخ به تقاضاهای بیشتر را ارائه میدهند.
اگر میخواهید رد مورد این وب سرور و نحوهی نصب آن بیشتر بدانید،پیشنهاد میکنیم فرصت مطالعهی مقالهی وب سرور آپاچی چیست را از دست ندهید.
مهم ترین مزیت های وب سرور آپاچی ( Apache )
- منبع باز بودن (open source) : آپاچی یک نرم افزار منبع باز (Open Source) است و به همین دلیل امکان اضافه کردن ماژولهای مختلف به آن وجود دارد.
- قابلیت نصب بر روی دیگر سیستم عاملهای موجود از جمله لینوکس، یونیکس، ویندوز، FreeBSD و…
- پشتیبانی از زبانهای برنامهنویسی پرکاربرد Perl، Python، Tcl و PHP
- به دلیل وجود ماژولهای متعدد، امکان کنترل و محدود کردن درخواستهای کاربران برای مدیران فراهم است.
- امکان سفارشی سازی آن به دلیل داشتن یک ساختار ماژولار امکانپذیر است.
- ساده بودن و پایداری
- رایگان بودن
- امکان سفارشی سازی آن به دلیل داشتن یک ساختار ماژولار
-
وب سرور nginx چیست (NGINX)
یکی دیگر از انواع وب سرور های لینوکس (Linux) ، وب سرور انجین ایکس است. این وب سرور دومین وب سرور پرکاربرد و محبوب است، که سهم ۷.۵ درصدی از کل میزبانی وب را به خود اختصاص داده است. اولین نسخه NGINX در سال 2004 انتشار یافت. NGINX با این ایده توسعه یافت که مشکل C10K را حل کند. منظور از C10K پیدا کردن جواب سوال “چگونه وب سروری ایجاد میکنید که 10 هزار ارتباط همزمان را کنترل کند؟” است. تقریبا 40 درصد وب سایت ها از این وب سرور استفاده می کنند.
NGINX از معماری asynchronous) event-drive) برای کنترل درخواست ها به جای استفاده از thread بهره میگیرد تا هدف اصلی توسعه اش یعنی کنترل تعداد بسیار زیادی ارتباط همزمان را ممکن سازد. این وب سرور روی سیستم عامل های UNIX، Linux، BSD، مک، Solaris و ویندوزقابل اجراست. علاوه بر ویژگی HTTP رایج، Nginx سرورهای مجازی (virtual server) مبتنی بر IP و نام، Piplined connection ها و FLV streaming را پشتیبانی میکند. دیگر ویژگی جالب آن، قابلیت پیکربندی آنلاین بدون قطعی کلاینت ها است. پیشنهاد میکنیم برای آشنایی جامع با مفهوم انجین ایکس مقاله Nginix چیست را در سری مقالات ابر آراز از دست ندهید تا علاوه بر درک قابلیت های بینظیر آن با انواع روش نصب انجین ایکس نیز آشنا شوید.
مزیت های وب سرور انجین ایکس (NGINX)
- قابلیت برقراری همزمان بیش از 10 هزار ارتباط را با مصرف فقط 2.5 مگابایت از حافظه
- امکان استفاده از آن به عنوان پراکسی
- سرعت بالا که از مهم ترین مزایای آن است
- قابلیت محدود کردن تعداد پردازشها
- ساده و پایدار بودن
- عملکرد بسیار بالا
- منبع باز یا open source بودن
- رایگان بودن
- سازگاری با سیستم عاملهای ویندوز و لینوکس
-
وب سرور litespeed چیست ؟ (LiteSpeed)
LiteSpeed سومین وب سرور مورد نظر در موضوع مقایسه انواع web server های لینوکس (Linux) است. این وب سرور از جهات مختلف شباهت زیادی به وب سرور آپاچی دارد و میتواند جایگزین آن شود. LiteSpeed یک جایگزین برای Apache با عملکرد بالا است و چهارمین وب سرور محبوب در اینترنت و یک وب سرور تجاری میباشد. وقتی وب سرورتان را به LiteSpeed ارتقا میدهید، ویژگی بهبود عملکرد زیاد با هزینه عملیاتی کم را تجربه خواهید کرد.
این سرور با ویژگیهای رایج Apache مثل htaccess، mode_rewrite و mod_security سازگاری دارد. همچنین میتواند فایلهای پیکربندی Apache را بارگذاری کند و بصورت یک جایگزین برای Apache همراه با تمام پنلهای کنترل از جمله هاست cPanel ( سی پنل ) کار میکند.
سرور LiteSpeed میتواند ظرف پانزده دقیقه بدون هیچ خرابی با Apache جایگزین شود. LSWS تمام عملکردها و وظایف Apache را جایگزین میکند که هیچ راه حل پروکسی front-end دیگری نمیتواند این کار را انجام دهد تا تغییر حالت از Apache به LiteSpeed را از این راحتتر کند.
مزایای وب سرور لایت اسپید چیست ؟ ( LiteSpeed )
- سرعت عملکرد بسیار بالا، حتی بالاتر از وب سرور آپاچی
- مناسب برای وب سایت های پربازدید و اشتراکی
- مقیاس پذیری بالا
- امنیت بالا و مجهز بودن به Anti-DDoS
- نیمه رایگان
- قابلیت پشتیبانی از چندین کانکشن به طور همزمان
- ساده بودن کار کردن با آن
- سازگاری با هسته آپاچی
- مصرف میزان حافظه کمتر نسبت به آپاچی
در ادامهی مقالهی وب سرور چیست با ما همراه باشید تا دیگر وب سرور های ینوکس را با یکدیگر بررسی کنیم.
-
وب سرور iis چیست ؟
IIS محصول مایکروسافت است و سروری است که تمام ویژگیهای Apache را عرضه میکند. از آنجایی که این سرور یک منبع باز نیست اضافه کردن ماژول های شخصی و همچنین اصلاح آن کمی دشوار است. وب سرور IIS از تمام پلتفرمهایی که در سیستم عامل ویندوز راهاندازی میشوند پشتیبانی میکند. همچنین اگر به مشکل برخوردید میتوانید پشتیبانی از مشتریان را بخوبی دریافت کنید.
-
وب سرور tomcat چیست ( Apache Tomcat )
وب سرور tomcat چیست ؟ بیایید با هم یکی از مهمترین وب سرورهای لینوکس با نام تام کت را بررسی کنیم. یکی دیگر از وب سرور های لینوکس (Linux) مورد نظر در بحث مقایسه انواع web server های لینوکسی، وب سرور تامکت است. این وب سرور توسط شرکت آپاچی طراحی و عرضه شده است. Apache Tomcat که حاوی منبع باز جاوا سرولت (Java servlet) است بصورت یک وب سرور عمل میکند و اغلب در میان سرورهای برنامه کاربردی جاوا منبع باز فهرستبندی میشود، مثل Wildfly، JBoss و Glassfish.
یک برنامه جاوا که قابلیتهای سرور را توسعه میدهد جاوا سرولت نامیده میشود. سرولتها میتوانند به هر نوع تقاضایی پاسخ دهند اما معمولأ کارهای وب سرور ها را اجرا میکنند. این سرولتهای وب معادلِ جاوا برای تکنولوژیهای محتوای وب پویا مثل PHP و ASP.NET هستند. میکروسیستمهای سان مبنای کد Tomcat را در سال 1999 به تشکیلات نرمافزاری Apache اهدا کرد که در سال 2005 به یک پروژه سطح بالا برای Apache تبدیل شد.
در حال حاضر فقط کمتر از یک درصد از تمام وب سایت ها را پشتیبانی میکند. Apache Tomcat که تحت نسخه دوم مجوز Apache منتشر شد.اما میتوان آن را به Coyote توسعه داد به گونهای که بتواند نقش یک وب سرور نرمال که فایلهای محلی را بصورت اسناد HTTP ارائه میدهد را نیز ایفا کند.
مزایای وب سرور تامکت ( Apache Tomcat )
مهمترین مزیت تامکت این است که قابلیت پشتیبانی از Java Servlet و Java Serverرا دارد و باید گفت که بیشتر هم برای همین هدف طراحی شده است.
تامکت نیز همانند آپاچی قابلیت اجرا بر روی سیستم عاملهای ویندوز، لینوکس، یونیکس، FreeBSD و غیره را نیز دارد.
امکان پاسخگویی به هر درخواستی را امکانپذیر میسازد. وب سروری متن باز است. همچنین نزدیک به یک درصد از کل وب سایت ها را پشتیبانی میکند و رایگان است.
-
وب سرور LIGHTTPD
یکی دیگر از انواع وب سرور های لینوکس (Linux) LIGHTTPD که «lightly» تلفظ میشود است که در ابتدا در مارس سال منتشر شد.
LIGHTTPD در حال حاضر تقریبا یک درصد از تمام وب سایت ها را راهاندازی میکند و تحت مجوز BSD توزیع میشود. LIGHTTPD به دلیل بار CPU کم، فوت پرینت کمحافظه و بهینه سازی سرعت منحصربفرد است. این سرور از یک معماری رویداد محور استفاده میکند و برای تعداد زیادی از اتصالات موازی بهینهسازی میشود و همچنین از ویژگیهای fastCGI، Auth، Output-compression، SCGI، URL-rewriting و بسیاری از ویژگیهای دیگر پشتیبانی میکند. این یکی از وب سرور های لینوکس (Linux) محبوب برای چارچوبهای وب مثل Catalyst و Ruby on Rails است.
LIGHTTPD که lightly نیز تلفظ می شود در سال 2003 توسعه یافت. در حال حاضر تنها یک درصد وب سایت ها از این وب سرور استفاده می کنند. LIGHTTPD تحت لایسنس BSD است و روی Unix و Linux اجرا می شود. وب سرور LIGHTTPD مشابه Nginx برای بهبود کارایی در زمان برقراری ارتباطات همزمان با تعداد بسیار زیاد ایجاد شده است و علاوه بر آن از معماری asynchronous) event-drive) بهره می گیرد.
این وب سرور در حقیقت برای سرور هایی که مموری و CPU ضعیفی دارند بسیار مناسب است. تنها نقطه ضعف LIGHTTPD این است که تنها روی یک thread اجرا میشود، در این صورت اگر سرور قدرتمندی داشته باشید، این نرم افزار بقیه هسته های CPU را مد نظر نمی گیرد. علاوه بر آن برخی ویژگی هایی مثل SSL Proxy که NginX آن را پشتیبانی می کند، را ارائه نمی دهد.
مزایای وب سرور LIGHTTPD
انعطاف پذیری کامل با زبان های برنامه نویسی وب
- پشتیبانی از Mod_rewrite برای کارکرد اسکریپت های مختلف
- پشتیبانی از Load Balancing با هندل Fastcgi و قابلیت استفاده بصورت Reverse Proxy
- پشتیبانی از Chroot
- ساپورت TLS/SSL و پشتیبانی SNI از طریق Open SSL (برای آشنایی هرچه بیشتر با تکنولوژي sni و دلیل اهمیت آن، پیشنهاد میکنیم فرصت مطالعهی مقالهی تکنولوژی sni چیست را از دست ندهید.)
- پشتیبانی از Cache system های مختلف
- پشتیبانی از HTTP compression با استفاده از mod_compress و در اخیرا پشتیبانی از mod_deflate
- طراحی شده بر اساس Single-process برای ساپورت تعداد کانکشن بالا
- قابلیت احراز هویت کاربران از طریق LDAP
- آمار و ارقام RRDtool
- پشتیبانی از ماژول های متنوع
انواع دیگری از وب سرور لینوکسی که کاربرد کمتری دارند
تا اینجا به بررسی سه مورد از وب سرور های لینوکس (Linux) پر کاربرد که بسیاری از سرویسهای ارائه خدمات میزبانی وب و فروش VPS با آن سر و کار دارند پرداختیم. البته وب سرور های دیگری از قبیل Cherokee، Hiawatha و Monkey Server نیز در بازار وجود دارند اما چون کاربرد آن ها به مراتب از وب سرور های فوق کمتر است، از معرفی ویژگی آن ها صرف نظر کردیم. فقط بخاطر داشته باشید، بیشترین تفاوتی که یک وب سرور امن و بهینه با یک وب سرور ضعیف و نا امن دارد، تفاوت در پیکربندی آن ها است. بنابراین با آموزش های بعدی ما همراه باشید تا شما را با نحوه پیکربندی صحیح وب سرور های مختلف آشنا کنیم.
ساخت سریع سرور ابری لینوکسسخن پایانی
با توجه به تمام مشخصات و مزایای فهرست شده در مورد هر یک از وب سرور های لینوکس (Linux) در بحث مقایسه وب سرورهای لینوکسی باید اذعان داشت که امکانات قابل ارائه توسط وب سرور های لینوکس (Linux) ، پشتیبانی و هزینهی آن از عوامل تعیین کننده برای انتخاب یک وب سرور مناسب هستند. در مورد مزایای وب سرور لینوکس در این مقاله بیشتر بخوانید.
به عنوان مثال برای شروع فعالیت بهتر است از وب سرور آپاچی استفاده شود و چنانچه میزان عملکرد یکی از وب سرور های لینوکس (Linux) مدنظر است انجین ایکس میتواند بهترین گزینه باشد. در صورتی که با مفاهیم وب سرور آشنا نمی باشید توصیه می کنیم همه ی نکات و مفاهیم اولیه درباره WEB SERVER چیست را مطالعه نمایید.