وب سرور نرم افزاری است که بر روی سرور نصب میشود و درخواست های کاربران برای دسترسی به صفحات وب را دریافت می کند. و بعد از انجام چندین بررسی امنیتی کاربر را به صفحه وب می برد.
به طور معمول و به صورت سنتی همواره سیستم عامل لینوکس با وب سرور آپاچی همراه است. تا وقتی کار میکنید و به مشکلی برنخورده اید که بخواهید راه حل و جایگزینی برای آن پیدا کنید احتمال دارد اصلا نام وب سرور لایت اسپید را هم نشنیده باشید. در این مقاله قصد داریم این وب سرور تقریبا نوظهور و مدرن را با وب سرور رایج و قابل اعتماد آپاچی مقایسه کنیم و به شما بگوییم چه وقت از کدام یک استفاده کنیم بهتر است؟
در نوشتن این مطلب ما فرض کرده ایم مخاطب یک متخصص تکنیکال نیست. بلکه به عنوان راهنمایی برای صاحبان کسب و کارها و وبسایتها به موضوع پرداخته ایم. بنابراین از پرداختن به جزییات فنی و بحثهای فنی درباره وب سرورها در این مقاله خودداری شده است.
در ادامه چندین موقعیت و وضعیت که وبسایتها میتوانند داشته باشند را ترسیم می کنیم و انتخاب ایده آل برای هر وضعیت را شرح میدهیم. برای این منظور انواع وبسایتها را از لحاظ میزان مصرف منابع به چند دسته اصلی تقسیم می کنیم.
گروه اول: وبسایتهایی با محتوای استاتیک سنگین:
منظور ازمحتوای استاتیک تصاویر، کدهای css و جاوا اسکریپت میباشد. وب سایتهای تجاری در این دسته قرار میگیرند. این دسته رایج ترین گروه از وبسایتها در فضای مجازی است. اکتر این وب سایتها با سیستم های مدیریت محتوا مثل جوملا، وردپرس و یا دروپال نوشته شده اند و از انواع افزونه ها و تصاویر جهت زیباسازی و کاربرپسند کردن آن استفاده میشود. تمام این فایلها حجم استاتیک سایت را افزایش میدهند و سایت را اصطلاحا سنگین می کنند. متوسط اندازه هر صفحه وبسایت میتواند چیزی در حدود یک مگابایت باشد. حالا فرض کنید به طور متوسط تعداد 20 نفر بازدید کننده همزمان داشته باشد.
در این مورد وب سرور آپاچی البته با ورژن (v2.4) که بروزترین نسخه آن است ، یک گزینه مناسب است. البته می توان برای کارایی بهتر از nginx استفاده کرد. Nginx یک پروکسی معکوس است که جلوی وب سرور آپاچی قرار میگیرد و با استفاده از حافظه موقتی که دارد یک کش از فایلهای استاتیک سایت در خود نگه میدارد تا در موقع ارسال درخواستها از طرف کاربران سایت از این کش به جای مراجعه به وب سرور اصلی استفاده شود و بنابراین بار بر روی وب سرور را به میزان قابل توجهی کاهش میدهد. و سرعت سایت را افزایش میدهد. تنها وقتی درخواستها به سمت وب سرور آپاچی میروند که آن بخش از درخواستها قبلا در کش nginx وجود نداشته باشند.
برای این دسته از سایتها وب سرور لایت اسپید اصلا لازم و ضروری نیست.
گروه دوم:وبسایتهایی با دیتابیس سنگین
اینها وبسایتهای هستند که بیشتر از آنکه بروز رسانی آنها را سنگین کند و تحت تاثیر قرار دهد، میزان بازدید زیاد این وبسایتهاست که قابل توجه است. این گروه دومین گروه از وبسایتها از لحاظ فراوانی در فضای وب هستند. فروم ها و یا وبلاگ ها که مالکان آنها هر روز تعداد زیادی مقاله منتشر میکنند و از طرفی هزاران کاربر در روز این محتواها را میخوانند، از این دسته اند. در این نوع وبسایتها بار هم برروی دیتابیس و هم فایلهای استاتیک به یک میزان وارد میشود. بنابراین در زمان پیک ترافیک فشار هم بر روی وب سرور آپاچی و هم موتور PHP و دیتابیس خواهد بود.
اگر در مورد چنین وبسایتها در عمکردشان دچار مشکلی شدید قبل از اینکه به سراغ وب سرور بروید باید موارد زیر را بررسی کنید:
کامپایلر PHP: دیفالت PHP در بسیاری از سرورهای هاست، نسخه های قدیمی تر میباشد. اگر نسخه PHP هاست را به 7 و بالاتر از آن ارتقا دهید افزایش قابل ملاحظه ای در سرعت سایت مشاهده میشود. قبل از تغییر نسخه PHP اصلا به سراغ تغییر وب سرور نروید. به احتمال زیاد درصد زیادی از مشکلات شما با ارتقای نسخه PHP رفع میشود.
دیتابیس: از آنجا که در چنین وبسایتهایی به طور مداوم داده هایی به دیتابیس اضافه یا از آن حذف میشوند، اگر دیتابیس به خوبی کانفیگ نشده باشد ممکن است وضعیت دیتابیس باعت کندی سایت شما شود.
هارد دیسک: هارد بسیاری از سرورهای هاست در حال حاضر از نوع SATA میباشد. ممکن است برای سایتهای کوچکتر با تعداد بازدید کننده زیر 1000 در روز مناسب باشد. ولی برای وبسایتهایی با اپلیکیشن های زیاد و سنگین و بازدید روزانه بیشتر تکنولوژی جدیدتر هارد دیسک، SSD ، مناسب است.
مموری یا حافظه موقت: دیتابیس های حجیم برای اتصالات متعددی که باید با سرور برقرار کنند، به مموری کافی نیاز دارند اگر این مموری به اندازه کافی نباشد سرور شروع می کند برای پاسخ به درخواست ها از هارد دیسک استفاده میکند و این امر باعث کندی سرور و سایت می شود.
پس خیلی موارد که ممکن است فکر کنید اختلال و سرعت پایین شما به خاطر وب سرور است و باید آن را تعویض کنید، در واقع مربوط به سایر زیرسیستمهای سرور هاست است و باید فکری برای آنها بکنید.
متعاقبا کارهایی که برای موارد ذکر شده در بالا می توان انجام داد به ترتیب عبارتند از:
تغییر نسخه PHP: در برخی از هاست ها این امکان وجود دارد و شما براحتی میتوانید در کنترل پنل هاست در قسمت مربوطه دیفالت نسخه را تغییر دهید ولی در برخی از هاست ها این امکان اصلا وجود ندارد. در هاست کوشان امکان ارتقای تا نسخه 7.3 در سی پنل وجود دارد. به سی پنل لاگین کنید در بخش software، گزینه select PHP version را انتخاب کنید و در این قسمت نسخه مورد نظر PHP را تنظیم کنید.
فعال کردن کش PHP : این کار زمان کامپایل کردن صفحات را کاهش میدهد. در سی پنل در بخش software سپس در قسمت select PHP version وارد شوید و گزینه opcash را فعال کنید.
بهینه سازی دیتابیس: دیفرگ کردن دیتابیس حجم دیتابیس را کاهش دهید. در سی پنل وارد
PHP my admin شوید سپس دیتابیس موردنظر را انتخاب کنید با زدن گزینه select all در پایین صفحه همه جداول دیتابیس را انتخاب کنید. سپس گزینه optimize table را در قسمت
with selected انتخاب کنید
فعال کردن کش دیتابیس: با فعال کردن گزینه Memchashed یا Redis میزان دسترسی و استفاده از هارد دیسک سرور به کمترین میزان میرسد.
فعال کردن کش HTML: با استفاده از نرم افزارهای varnish یا nginx که همانطور که قبلا گفتیم در جلوی وب سرور قرار می گیرند و با ایجاد کش در حافظه خود دسترسی به وب سرور به مینیمم حد خود میرسانند.
گروه سوم: وبسایتهایی با تراکنش بالا و محتوای داینامیک زیاد
نمونه بارز چنین وبسایتهایی فروشگهای اینترنتی بزرگ با تنوع محصول بالا هستند. در این سایتها عملیاتی چون مرتب سازی و فیلترسازی محصولات با ترکیبات متعدد و متنوع در جریان است.
برای چنین وبسایتهایی وب سرور آپاچی همراه با nginx و یا لایت اسپید مناسب است.
گروه چهارم: سرورهایی که میزبان چندین برنامه وب هستند
نمونه بارز آن سرورهای هاست اشتراکی هستند که روی هر سرور بین 200 تا 800 میزبانی میشود.
این سرورها از چندین وب سایت در مقیاس کوچکتر و با ترافیک کمتر تشکیل شده اند ، اما مجموعا می تواند تا 400 یا بیشتر اتصال همزمان در آن سرور رخ دهد. چالش اصلی در سرورهای هاست اشتراکی همزمانی است یعنی توانایی مدیریت تعدادی کانکشن در یک زمان
نسخه های قدیمی تر آپاچی در این زمینه از Nginx و Litespeed ضعیف تر است ، اما جدیدترین نسخه آنv2.4) ) به عنوان یک وب سرور قابل استفاده در شرایط ترافیک بالا با آنها برابری میکند.
برای اکثر سرورهای هاست اشتراکی ، اگر تنظیمات دیتابیس و PHP به درستی انجام گرفته باشد. عمکرد پایدار آن با apache v2.4 تضمین میشود.
با این حال ، دو وضعیت استثنا وجود دارد که این پیکربندی جوابگوی آن نیست:
1-سرورهای هاست اشتراکی که سایتهایی با ترافیک بالای فصلی میزبانی می کنند:
فروم ها یا سایت های خبری از این دسته هستند این سایت ها هر از گاهی با ترافیکی ناگهانی مواجه میشوند. آپاچی گاهی اوقات قادر به مدیریت چنین افزایش شدید ناگهانی در ترافیک نیست. برای این سرورها ، بهتر است از Nginx به عنوان یک پروکسی معکوس برای آپاچی استفاده شود.
2-سرورهای هاست اشتراکی که سایتهای بزرگ فروشگاه الکترونیکی را میزبانی می کنند:
سایتهای تجارت الکترونیکی یا فروشگاهی برای تراکنش داینامیک بالای خود به سیستم های کش قوی نیاز دارند. در چنین حالتی لایت اسپید یا Nginx و Varnish گزینه های مناسب تر هستند.
نتیجه
هیچ راه حل و نسخه ثابتی را برای تمام انواع نیازهای وب نمی توان پیچید. شما باید بر اساس شرایط کسب و کار و وبسایت خود یکی از گزینه های آپاچی، لایت اسپید یا nginx را انتخاب کنید.
یک سرور هاست را مجموعه ای از عوامل و پارامترهای سخت افزاری و نرم افزاری تشکیل میدهد که در این مقاله فقط به یک جنبه از آن یعنی نرم افزار وب سرور پرداختیم و سرورها را تنها از این حیث و بدون درنظر گرفتن سایر ویژیگیها مورد بررسی قرار دادیم. ترکیبی مناسب از تمام ویژگیهای یک هاست آن را برای نوعی از وبسایت مناسب می کند بنابراین دقت کنید یک هاست صرفا با داشتن وب سرور لایت اسپید قطعا خوب نیست و سروری با داشتن وب سرور آپاچی با نسخه قدیمی هم حتما بد نیست. بر روی سرعت سایت تنها وب سرور تاثیر ندارد نوع هارد دیسک، میزان مموری، محل سرور و ..... همه این عوامل جمع میشوند و یک نتیجه خوب یا بد را میسازند. عملکرد نهایی سرور که نتیجه مجموعه ای از عوامل چینش شده در یک سرور است اهمیت دارد.