آموزشآموزش‌های تکی

آموزش تکی، حدود ۲۸ دقیقه خواندن

سرور چیه

جواب کوتاه

سرور (Server، یعنی «خدمت‌دهنده») یه کامپیوتره که همیشه روشن و به اینترنت وصله و کارش اینه که به درخواست کامپیوترهای دیگه جواب بده: صفحه‌ی سایت، ایمیل، فایل یا داده. سرور می‌تونه یه دستگاه کامل باشه (سرور اختصاصی)، یه تیکه‌ی جدا از یه دستگاه بزرگ (سرور مجازی یا VPS)، یا یه گوشه‌ی کوچیک که با صدها سایت دیگه شریکه (هاست اشتراکی).

اسم

شاید وقتی هاست یا سرور مجازی می‌خریدید، یا وقتی یکی گفت «سایت روی سرور فلانه»، این کلمه رو شنیدید. سرور همون Server هست؛ از فعل serve، یعنی «خدمت کردن». پس سرور یعنی «خدمت‌دهنده»: کامپیوتری که کارش خدمت دادن به کامپیوترهای دیگه‌ست.

اونی که خدمت می‌گیره هم اسم داره: کلاینت (Client)، یعنی «مشتری». گوشی شما وقتی یه سایت رو باز می‌کنه، کلاینته؛ کامپیوتری که صفحه رو براش می‌فرسته، سرور. این رابطه رو توی درس سرور و کلاینت مفصل دیدید؛ اینجا می‌ریم سراغ خود سرور: چیه، داخلش چیه، چند جوره و چجوری یکی انتخاب کنیم.

آشپزخونه‌ای که تعطیل نمی‌شه

مثلا فرض کنید یه رستوران دارید که شبانه‌روز بازه. مشتری‌ها از پنجره سفارش می‌دن، آشپزها سفارش رو می‌خونن، از انبار مواد میارن، روی میز کار آماده‌ش می‌کنن، و غذا از یه پنجره‌ی دیگه بیرون می‌ره. یه دفترچه هم هست که دستور هر غذا توشه.

سرور همین آشپزخونه‌ست. سفارش، درخواستیه که از گوشی یا کامپیوتر شما میاد. آشپزها پردازنده‌ن، میز کار رمه، انبار دیسکه، و دفترچه‌ی دستور برنامه‌ایه که روی سرور نصبه، مثلا وردپرس. غذا هم صفحه‌ایه که برمی‌گرده. و مهم‌ترین چیزش اینه که این آشپزخونه هیچ‌وقت تعطیل نمی‌شه؛ ساعت سه صبح هم یکی سفارش بده، باید جواب بگیره.

سرور با کامپیوتر خونه چه فرقی داره؟

از نظر داخل، خیلی فرقی نداره. سرور هم پردازنده داره، رم داره، دیسک داره. حتی می‌شه یه لپ‌تاپ قدیمی رو سرور کرد. فرق توی کاره، نه توی جنس.

کامپیوتر خونه: صفحه، کیبورد، و شب‌ها خاموش.
سرور: یه جعبه‌ی تخت توی رک، که هیچ‌وقت خاموش نمی‌شه.

کامپیوتر خونه برای یه نفر ساخته شده که جلوش نشسته: صفحه داره، کیبورد داره، و شب خاموشش می‌کنید. سرور برای صدها و هزاران نفری ساخته شده که هیچ‌کدوم جلوش نیستن: صفحه و کیبورد نداره، از راه دور مدیریت می‌شه، و قراره سال‌ها بی خاموشی کار کنه. برای همین قطعه‌هاش محکم‌ترن، برای گرما و کار دائمی ساخته شدن، و چند تا چیز اضافه دارن که جلوتر می‌بینید.

یه فرق دیگه هم هست: سرور معمولا یه IP ثابت داره و توی جایی نشسته که اینترنتش قوی و پایداره، یعنی دیتاسنتر. کامپیوتر خونه پشت مودم خونه‌ست و IPش هر چند وقت عوض می‌شه.

یه درخواست، از اول تا آخر

بیاید ببینیم وقتی یه سایت رو باز می‌کنید، سرور دقیقا چی کار می‌کنه. پنج قدم:

  1. گوشی شما اول از DNS می‌پرسه سرور این سایت کجاست، بعد درخواست رو برای IP همون سرور می‌فرسته.
  2. درخواست به یه درگاه (پورت) مشخص روی سرور می‌رسه. برای سایت‌ها معمولا ۴۴۳، که مال HTTPS هست. روی سرور یه برنامه پشت همین درگاه منتظره؛ بهش می‌گن وب‌سرور.
  3. وب‌سرور درخواست رو می‌خونه. اگه یه فایل ساده خواستید، مثلا یه عکس، همون رو از دیسک برمی‌داره. اگه صفحه‌ی سایته، به برنامه‌ی سایت، مثلا وردپرس، می‌گه بسازش؛ اونم از دیتابیس هر چی لازم داره رو می‌خونه.
  4. جواب، که همون صفحه‌ست، از همون راه برمی‌گرده.
  5. مرورگر شما صفحه رو نشون می‌ده. همه‌ی این کار برای یه سایت سریع، کمتر از یه ثانیه طول می‌کشه.

پس سرور سه تا کار رو پشت هم انجام می‌ده: گوش دادن، کار کردن، جواب دادن. و این کار رو برای هزاران نفر با هم.

داخل سرور

اگه در یه سرور رو باز کنید، چهار تا چیز اصلی می‌بینید. پردازنده (CPU)، که کار رو انجام می‌ده؛ همون آشپزها. رم (RAM)، حافظه‌ی سریع و موقت؛ میز کار. دیسک، که داده‌ها برای همیشه روشن؛ انبار. و کارت شبکه، که سرور رو به اینترنت وصل می‌کنه؛ پنجره‌ی سفارش.

دیسک سرور سه جور می‌تونه باشه: هارد دیسک (HDD) که ارزون و جاداره ولی کنده، SSD که خیلی سریع‌تره، و NVMe که از اونم سریع‌تره. برای سایت، هر کدوم سریع‌تر باشه، صفحه زودتر ساخته می‌شه.

هر کدوم از این چهار تا یه درس جدا داره. اینجا فقط کافیه بدونید سرعت سرور از هر چهار تاش میاد؛ اگه یکی کند باشه، بقیه منتظرش می‌مونن.

چیزهایی که فقط سرور داره

یه سرور واقعی چند تا چیز داره که کامپیوتر خونه معمولا نداره، چون قراره هیچ‌وقت نخوابه:

  • دو منبع برق
  • رم با تصحیح خطا
  • عوض کردن در حال کار
  • مدیریت از راه دور

اول، دو منبع برق؛ اگه یکی سوخت، اون یکی کار رو ادامه می‌ده و سرور خاموش نمی‌شه. رم با تصحیح خطا، که بهش می‌گن ECC، کوتاه‌شده‌ی Error-Correcting Code، یعنی «کد تصحیح خطا»: اگه یه بیت توی رم خراب بشه، خودش پیداش می‌کنه و درستش می‌کنه، به‌جای اینکه داده‌ی غلط بره توی دیتابیس.

بعد عوض کردن در حال کار، یا hot-swap؛ یعنی دیسک یا منبع برق خراب رو می‌شه بی خاموش کردن سرور بیرون کشید و یکی دیگه جاش گذاشت. و آخر مدیریت از راه دور؛ یه تراشه‌ی کوچیک جدا روی سرور، که حتی وقتی خود سرور هنگ کرده، می‌شه از راه دور بهش وصل شد، صفحه‌ش رو دید و روشن و خاموشش کرد. اسم استانداردش IPMI هست، کوتاه‌شده‌ی Intelligent Platform Management Interface، یعنی «رابط هوشمند مدیریت دستگاه».

سه تا شکل

سرورها از بیرون سه تا شکل اصلی دارن:

رکی، که رایج‌ترین شکل توی دیتاسنترهاست، یه جعبه‌ی تخته که توی یه قفسه‌ی استاندارد به اسم رک پیچ می‌شه. ارتفاعش رو با U می‌گن؛ هر U حدود ۴٫۴ سانتیمتره، و سرور «۱U» یعنی یه طبقه از رک رو می‌گیره. تاور، شبیه کیس کامپیوتر معمولی، برای اداره‌های کوچیکی که رک ندارن. و بلید، یعنی «تیغه»: سرورهای خیلی باریکی که مثل کتاب توی یه قفسه‌ی مشترک کنار هم می‌شینن و برق و خنک‌کننده رو با هم شریکن؛ برای جاهایی که توی جای کم، سرور زیاد می‌خوان.

سرورها چه کار می‌کنن؟

«سرور» بیشتر از اینکه اسم یه دستگاه باشه، اسم یه کاره. یعنی یه دستگاه می‌تونه چند تا سرور باشه، و یه کار می‌تونه روی چند تا دستگاه پخش بشه. اسم هر سرور معمولا از کاری میاد که می‌کنه:

  • وب‌سرور: صفحه‌ی سایت
  • دیتابیس: نگه داشتن داده
  • ایمیل
  • DNS: دفترچه‌ی نشانی‌ها
  • فایل و پشتیبان
  • بازی و برنامه

وب‌سرور صفحه‌ی سایت رو می‌ده. سرور دیتابیس داده‌ها رو نگه می‌داره و به سوال‌ها جواب می‌ده؛ مثلا فهرست محصول‌ها و سفارش‌ها. سرور ایمیل نامه‌ها رو می‌گیره و می‌فرسته. سرور DNS می‌گه هر اسمی کدوم IP هست. سرور فایل و پشتیبان فایل‌ها رو نگه می‌داره. و سرور بازی یا برنامه، جاییه که بازی آنلاین یا یه اپ پشتش کار می‌کنه.

یه سایت کوچیک وردپرسی معمولا وب‌سرور و دیتابیسش روی یه دستگاهن. یه سایت بزرگ ممکنه برای هر کدوم چند تا دستگاه جدا داشته باشه.

سیستم‌عامل سرور

سرور هم مثل گوشی و کامپیوتر شما سیستم‌عامل داره. بیشتر سرورهای سایت‌ها لینوکس دارن: رایگانه، سبکه، بی صفحه‌ی گرافیکی کار می‌کنه، و تقریبا همه‌ی ابزارهای سایت برای همین ساخته شدن. یه بخش کوچیک‌تر ویندوز سرور دارن، بیشتر برای نرم‌افزارهایی که فقط روی ویندوز کار می‌کنن.

چون سرور لینوکس معمولا صفحه‌ی گرافیکی نداره، باهاش از راه خط فرمان کار می‌کنن: یه پنجره‌ی متنی که توش دستور می‌نویسید و جواب می‌گیرید. اولش شاید عجیب باشه، ولی برای سرور خیلی سریع‌تر و سبک‌تره.

اجاره‌ی سرور

بیشتر صاحب‌های سایت، سرور رو نمی‌خرن و توی خونه نمی‌ذارن؛ اجاره‌ش می‌کنن. ولی «اجاره‌ی سرور» پنج جور داره، از کوچیک‌ترین سهم تا یه دستگاه کامل:

  1. هاست اشتراکییه گوشه از یه سرور، با صدها همسایه
  2. سرور مجازی (VPS)یه تیکه‌ی جدا از یه سرور، مال خودتون
  3. سرور ابریسرور مجازی که راحت بزرگ و کوچیک می‌شه
  4. سرور اختصاصییه سرور کامل، فقط برای شما
  5. کولوکیشنسرور مال خودتون، توی دیتاسنتر یکی دیگه

کوچیک‌ترینش هاست اشتراکیه. یه شرکت یه سرور رو بین صدها سایت تقسیم می‌کنه. ارزونه و راحته، ولی پردازنده و رم و دیسک با بقیه شریکه، تنظیم سرور یکی و برای همه‌ست، و دسترسی کامل ندارید. مثل یه اتاق توی یه خونه‌ی اشتراکی.

بعدی سرور مجازی یا VPS هست، کوتاه‌شده‌ی Virtual Private Server، یعنی «سرور خصوصی مجازی». یه سرور بزرگ به چند تا سرور جدا تقسیم می‌شه؛ هر کدوم رم و پردازنده‌ی خودش رو داره، سیستم‌عامل خودش رو داره، و دسترسی کامل (root) مال شماست. مثل یه آپارتمان توی یه ساختمون: دیوار و در و کلید خودتون رو دارید.

سرور ابری همون سرور مجازیه، روی زیرساختی که هر وقت خواستید، با چند کلیک بزرگ‌تر یا کوچیک‌ترش می‌کنید و گاهی ساعتی پولش رو می‌دید. سرور اختصاصی یه دستگاه کامل فقط برای شماست؛ قوی‌ترین و گرون‌ترین. و توی کولوکیشن، سرور رو خودتون می‌خرید و می‌برید توی دیتاسنتر یکی دیگه، و فقط جا و برق و اینترنت رو اجاره می‌کنید.

یه سرور، چند تا سرور

سرور مجازی چطوری درست می‌شه؟ روی یه سرور بزرگ یه برنامه‌ی خاص نصبه به اسم هایپروایزر (Hypervisor). کارش اینه که پردازنده، رم و دیسک اون سرور رو تیکه‌تیکه کنه و به هر تیکه وانمود کنه که یه کامپیوتر کامله. هر تیکه سیستم‌عامل خودش رو داره و از بقیه خبر نداره.

توی سرور مجازی، پردازنده رو با vCPU می‌گن، یعنی «پردازنده‌ی مجازی». هر vCPU معمولا سهمی از یکی از رشته‌های پردازنده‌ی واقعیه. رم معمولا دقیقا همون‌قدر که خریدید مال شماست، ولی پردازنده گاهی با همسایه‌ها شریکه؛ اگه سرور اصلی شلوغ باشه، ممکنه یه کم از وقت پردازنده‌ی شما رو بگیره. این مفهوم رو مفصل‌تر توی درس مجازی‌سازی دیدید.

چه سروری بگیرم؟

وقتی یه سرور رو می‌خرید یا اجاره می‌کنید، شش تا عدد و حرف جلوتونه. اینا رو به ترتیب نگاه کنید:

  1. اول از همه رم رو ببینید. برای یه سایت وردپرسی معمولی، ۴ گیگابایت شروع خوبیه؛ فروشگاه پربازدید بیشتر می‌خواد. رم کم یعنی سرور مجبور می‌شه از دیسک کمک بگیره، و همه‌چیز کند می‌شه.
  2. بعد پردازنده، یعنی تعداد هسته یا vCPU. هر هسته هم‌زمان یه کار رو انجام می‌ده؛ برای یه سایت متوسط، ۲ تا ۴ هسته معمولا کافیه.
  3. بعد جنس دیسک. NVMe بهتر از SSD، و SSD خیلی بهتر از هارد چرخان. اندازه‌ش هم به اندازه‌ی سایت و عکس‌هاش بستگی داره.
  4. بعد پورت شبکه، یعنی سرعت اتصال سرور به اینترنت، مثلا ۱۰۰ مگابیت یا ۱ گیگابیت، و اینکه این سرعت مال خود سروره یا با بقیه شریکه.
  5. بعد جای سرور، که باید نزدیک مشتری‌ها باشه. اگه مشتری‌هاتون توی ایرانن، سرور ایران؛ چون داده هم مثل آدم راه می‌ره، و راه کوتاه‌تر یعنی صفحه‌ی سریع‌تر.
  6. و آخر دسترسی و پشتیبانی، یعنی اینکه دسترسی کامل دارید یا نه، و اگه چیزی خراب شد کی جواب می‌ده.

یه نکته‌ی مهم: سرور بزرگ‌تر همیشه بهتر نیست. سرور ۴ گیگابایتی که درست تنظیم شده، معمولا از سرور ۱۶ گیگابایتی که بی تنظیم مونده سریع‌تره. تنظیم، به اندازه‌ی خود سخت‌افزار مهمه.

رفتن توی سرور

وقتی یه سرور مجازی یا اختصاصی می‌گیرید، یه IP و یه دسترسی بهتون می‌دن. چجوری وارد بشید؟ با SSH، کوتاه‌شده‌ی Secure Shell، یعنی «پوسته‌ی امن». یه برنامه روی لپ‌تاپ شما یه پنجره‌ی متنی باز می‌کنه که انگار جلوی خود سرور نشستید؛ و هر چی بین این دو تا رد می‌شه، رمز شده‌ست.

برای ورود می‌شه رمز گذاشت، ولی راه امن‌تر کلیده: یه جفت فایل که یکیش روی سرور می‌مونه و یکیش پیش شما. بی اون فایل، هیچ‌کس، حتی با حدس زدن میلیون‌ها رمز، نمی‌تونه وارد بشه. این رو کامل توی درس SSH دیدید.

امن نگه داشتن

سروری که به اینترنت وصله، از همون دقیقه‌ی اول، ربات‌هایی که اینترنت رو می‌گردن بهش سر می‌زنن و دنبال یه در باز می‌گردن. پنج تا کار اول، به ترتیب:

  1. به‌روزرسانی خودکار سیستم‌عامل؛ چون بیشتر نفوذها از یه حفره‌ی قدیمی و شناخته‌شده‌ست.
  2. دیوار آتش: فقط درگاه‌هایی باز باشه که لازمه، مثلا ۴۴۳ برای سایت.
  3. ورود با کلید، نه رمز؛ و ورود مستقیم با کاربر root بسته باشه.
  4. هر برنامه با کمترین دسترسی ممکن کار کنه؛ اگه یکیش آلوده شد، به بقیه نرسه.
  5. پشتیبان منظم، یه جای دیگه، که یه بار هم امتحان شده باشه که برمی‌گرده.

همیشه روشن

کار سرور اینه که روشن بمونه. این رو با درصد می‌گن: «۹۹٫۹ درصد در دسترس» یعنی توی یه سال حدود ۸ ساعت و ۴۵ دقیقه خاموشی؛ «۹۹٫۹۹ درصد» یعنی حدود ۵۳ دقیقه. هر ۹ بیشتر، خیلی گرون‌تر. این عددها و راه رسیدن بهشون رو توی درس دیتاسنتر دیدید.

برای سرور خودتون هم سه تا کار ساده کمک می‌کنه: یه ابزار که هر چند دقیقه سایت رو باز کنه و اگه جواب نداد خبرتون کنه، برنامه‌هایی که اگه بسته شدن خودشون دوباره روشن بشن، و پشتیبانی که بشه با اون سرور رو سریع جای دیگه بالا آورد.

برنامه‌ی وب‌سرور

یادتونه گفتیم پشت درگاه ۴۴۳ یه برنامه منتظره؟ اسم اون برنامه وب‌سروره. دو تا از رایج‌ترین‌هاش Nginx و Apache هستن؛ هر دو رایگان و متن‌باز. کار وب‌سرور اینه که درخواست رو بگیره، ببینه چی خواستن، و یا خودش جواب بده یا به برنامه‌ی سایت بسپره.

مثلا فرض کنید یه صفحه‌ی وردپرس ده تا عکس داره. وب‌سرور عکس‌ها رو خودش، مستقیم از دیسک، می‌ده؛ چون عکس عوض نمی‌شه و لازم نیست وردپرس بیدار بشه. فقط برای خود صفحه، PHP و وردپرس رو صدا می‌زنه. این تقسیم کار یکی از دلیل‌هاییه که سرور خوب‌تنظیم‌شده سریع‌تره.

یه کار دیگه‌ی وب‌سرور هم کشه: صفحه‌ای که یه بار ساخته شده رو چند دقیقه نگه می‌داره و به نفر بعدی همون رو می‌ده، به‌جای اینکه دوباره بسازدش. این کار بار سرور رو خیلی کم می‌کنه.

ترافیک و پهنای باند

موقع خریدن سرور دو تا عدد شبکه‌ای می‌بینید که گاهی قاطی می‌شن. اولی پورت یا پهنای بانده: اینکه در هر ثانیه چقدر داده می‌تونه از سرور رد بشه، مثلا ۱۰۰ مگابیت. مثل پهنای یه جاده. دومی ترافیک ماهانه‌ست: کل داده‌ای که توی یه ماه می‌تونید رد کنید، مثلا ۱ ترابایت. مثل کل کیلومتری که توی یه ماه حق دارید رانندگی کنید.

حالا یه حساب ساده. اگه هر صفحه‌ی سایت شما با عکس‌هاش ۲ مگابایت باشه، و روزی ۵ هزار بار باز بشه، یعنی روزی ۱۰ گیگابایت، و ماهی حدود ۳۰۰ گیگابایت. پس ترافیک ۱ ترابایتی براتون کافیه. ولی اگه یه روز کمپین داشته باشید و هزار نفر با هم بیان، پهنای پورت مهم می‌شه؛ ۱۰۰ مگابیت یعنی حدود ۱۲ مگابایت در ثانیه، که بین همه تقسیم می‌شه.

یه چیز دیگه: پورت «اختصاصی» یعنی این سرعت فقط مال سرور شماست؛ پورت «اشتراکی» یعنی با بقیه‌ی سرورهای همون دستگاه شریکه. این رو حتما بپرسید.

چند تا سرور با هم

وقتی یه سایت خیلی بزرگ می‌شه، یه سرور، هر چقدر هم قوی، کافی نیست. دو تا راه هست. راه اول اینه که سرور رو بزرگ‌تر کنید: رم بیشتر، پردازنده‌ی بیشتر. بهش می‌گن «بزرگ کردن عمودی». ساده‌ست، ولی یه سقف داره.

راه دوم اینه که چند تا سرور کنار هم بذارید و کار رو بینشون پخش کنید؛ «بزرگ کردن افقی». جلوی همه یه سرور کوچیک می‌شینه به اسم تقسیم‌کننده‌ی بار (Load Balancer)، که هر درخواست رو به سروری می‌ده که سرش خلوت‌تره. مثل یه بانک که به‌جای یه باجه، پنج تا باجه داره و یه نفر دم در می‌گه «شما برید باجه‌ی سه».

خوبی راه دوم اینه که اگه یکی از سرورها خراب بشه، بقیه کار رو ادامه می‌دن و سایت نمی‌خوابه. بدیش اینه که پیچیده‌تره: مثلا فایل‌هایی که کاربرها آپلود می‌کنن باید جایی باشن که همه‌ی سرورها بهش برسن. برای بیشتر سایت‌های کوچیک و متوسط، یه سرور خوب‌تنظیم‌شده کافیه.

حال سرور رو ببینید

اگه سرور مجازی یا اختصاصی دارید، با SSH که وارد شدید، چند تا دستور ساده حالش رو بهتون می‌گه:

  1. uptime می‌گه سرور چند وقته روشنه، و سه تا عدد «بار» هم نشون می‌ده: میانگین کار پردازنده توی ۱، ۵ و ۱۵ دقیقه‌ی اخیر. اگه این عدد از تعداد هسته‌ها بیشتر باشه، یعنی کارها توی صف منتظرن.
  2. free -h می‌گه چقدر رم دارید و چقدرش مصرف شده.
  3. df -h می‌گه دیسک چقدر پره. دیسکی که پر بشه، سایت رو از کار می‌ندازه؛ چون دیتابیس دیگه نمی‌تونه چیزی بنویسه.
  4. htop یه صفحه‌ی زنده‌ست که نشون می‌ده کدوم برنامه چقدر پردازنده و رم می‌خوره؛ مثل مدیر وظایف ویندوز، ولی برای سرور.

هزینه‌ی سرور

قیمت سرور معمولا ماهانه‌ست. توی اون قیمت معمولا این‌ها هست: رم، پردازنده، دیسک، پورت، ترافیک ماهانه و یه IP. چیزهایی که گاهی جدا حساب می‌شن: IP بیشتر، پشتیبان‌گیری از طرف خود شرکت، ترافیک بیشتر از سقف، و پشتیبانی فنی.

یه چیز جالب: سرور مجازی کوچیک، معمولا هم‌قیمت یه هاست اشتراکی خوبه، ولی منابعش مال خودتونه. فرقش اینه که سرور رو باید یکی تنظیم کنه؛ هاست اشتراکی از قبل تنظیم شده، ولی برای همه، نه برای سایت شما. پس هزینه‌ی واقعی سرور، قیمت ماهانه‌ش به‌علاوه‌ی یه بار تنظیم درسته.

با پنل یا بی پنل

بعضی‌ها روی سرور یه «کنترل پنل» نصب می‌کنن: یه صفحه‌ی وب که با کلیک کارهای سرور رو انجام می‌ده، مثل ساختن ایمیل یا دیتابیس. همون پنل‌هایی که توی هاست‌های اشتراکی می‌بینید. برای کسی که خط فرمان بلد نیست، راحته.

ولی دو تا هزینه داره. یکی اینکه خود پنل و سرویس‌هایی که کنارش روشنن، بخشی از رم و پردازنده رو می‌خورن؛ سهمی که می‌تونست مال سایت باشه. دومی اینکه هر چیزی که روی سرور هست، یه در دیگه‌ست؛ پنل‌ها هم هر از گاهی حفره‌ی امنیتی پیدا می‌کنن. برای همین خیلی از سرورهای یه‌سایته رو بی پنل می‌سازن، و کار روزانه‌ی صاحب سایت همون پنل خود وردپرسه.

سرور توی خونه؟

می‌شه یه کامپیوتر رو توی خونه سرور کرد؟ آره، و برای یاد گرفتن عالیه. خیلی‌ها یه کامپیوتر قدیمی یا یه جعبه‌ی کوچیک رو توی خونه سرور فایل یا پشتیبان می‌کنن. ولی برای سایتی که مشتری داره، سه تا مشکل داره.

اول اینکه IP خونه معمولا هر چند وقت عوض می‌شه و پشت مودمه؛ پس سایت رو سخت می‌شه از بیرون پیدا کرد. دوم اینکه سرعت «بالا فرستادن» اینترنت خونه معمولا خیلی کمتر از سرعت «پایین آوردن»شه، و سرور بیشتر بالا می‌فرسته. سوم اینکه برق و اینترنت خونه گاهی قطع می‌شه، و دیتاسنتر برای همین برق پشتیبان و چند تا اتصال داره. پس سرور توی خونه برای تمرین، و سرور توی دیتاسنتر برای کار.

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

اگه یه روز خواستید سایت رو از یه هاست یا سرور به یه سرور تازه ببرید، راه درستش این چهار قدمه، تا سایت حتی یه لحظه نخوابه:

  1. سرور تازه رو کامل آماده می‌کنید، و فایل‌ها و دیتابیس سایت رو یه نسخه روش می‌ذارید، در حالی که سایت قدیمی هنوز روشنه.
  2. سایت تازه رو با یه نشانی آزمایشی تست می‌کنید؛ همه‌ی صفحه‌ها، فرم‌ها و پرداخت.
  3. یه کم قبل از جابه‌جایی، عمر رکوردهای DNS رو کوتاه می‌کنید تا تغییر زود به همه برسه.
  4. یه بار دیگه آخرین داده‌ها رو منتقل می‌کنید، IP دامنه رو به سرور تازه عوض می‌کنید، و چند روز سرور قدیمی رو نگه می‌دارید، محض احتیاط.

کمی تاریخ

  1. دهه‌ی ۶۰کامپیوترهای اتاق‌اندازه
  2. دهه‌ی ۸۰سرور و کلاینت توی اداره‌ها
  3. ۱۹۹۰اولین وب‌سرور
  4. دهه‌ی ۲۰۰۰رک، دیتاسنتر و مجازی‌سازی
  5. امروزسرور ابری، چند دقیقه‌ای

دهه‌ی ۶۰ میلادی، کامپیوترها اندازه‌ی یه اتاق بودن و چند نفر با ترمینال‌های ساده بهشون وصل می‌شدن؛ یه جورایی اولین سرورها. دهه‌ی ۸۰، با کامپیوترهای شخصی، رابطه‌ی سرور و کلاینت توی اداره‌ها جا افتاد: یه کامپیوتر قوی‌تر فایل‌ها و چاپگر رو به بقیه می‌داد. سال ۱۹۹۰ اولین وب‌سرور دنیا روی یه کامپیوتر رومیزی روشن شد، با یه برچسب روش که می‌گفت خاموشش نکنید.

دهه‌ی ۲۰۰۰ سرورها تخت شدن و توی رک‌ها و دیتاسنترهای بزرگ چیده شدن، و مجازی‌سازی همه‌گیر شد؛ یعنی یه دستگاه، چند تا سرور. و امروز با سرور ابری، می‌شه توی چند دقیقه یه سرور گرفت، و یه ساعت بعد پسش داد.

تمرین

  1. اگه یه سایت دارید، از هاست یا شرکتی که ازش سرور گرفتید بپرسید: هاست اشتراکیه یا سرور مجازی؟ چند گیگ رم و چند تا هسته مال خود سایت شماست؟
  2. فکر کنید سایت شما کدوم یکی از شش تا کار سرور رو لازم داره: فقط وب‌سرور و دیتابیس، یا ایمیل هم؟
  3. اگه سرور مجازی دارید، با SSH واردش بشید و دستور uptime رو بزنید؛ می‌گه چند روزه روشنه.

اشتباه‌های رایج

  • «سرور یعنی یه کامپیوتر خیلی خاص و عجیب.» نه؛ همون پردازنده و رم و دیسکه، فقط محکم‌تر و همیشه روشن. سرور اسم یه کاره.
  • «هاست و سرور یکیه.» هاست اشتراکی یه سهم کوچیک از یه سروره، با همسایه‌های زیاد؛ سرور مجازی یا اختصاصی، منابع خودش رو داره.
  • «سرور بزرگ‌تر یعنی سایت سریع‌تر.» نه همیشه. سرور کوچیک‌تری که درست تنظیم شده، معمولا از سرور بزرگ بی تنظیم سریع‌تره.
  • «سرور مجازی امن نیست چون مجازیه.» هر سرور مجازی جدای از بقیه‌ست؛ امنیتش بیشتر به تنظیم خودتون بستگی داره تا به مجازی بودنش.
  • «پشتیبان رو شرکت هاستینگ داره، کافیه.» همیشه یه پشتیبان جای دیگه هم داشته باشید، و یه بار امتحان کنید که واقعا برمی‌گرده.

جمع‌بندی. آنچه از این درس با خودتان می‌برید.

  • سرور کامپیوتریه که همیشه روشنه و به درخواست‌ها جواب می‌ده.
  • داخلش همون پردازنده، رم، دیسک و کارت شبکه‌ست، ولی محکم‌تر و با چیزهایی مثل دو منبع برق و رم با تصحیح خطا.
  • اجاره‌ش چند جوره: هاست اشتراکی، سرور مجازی، سرور ابری، سرور اختصاصی و کولوکیشن.
  • سرور مجازی با هایپروایزر از یه سرور بزرگ جدا می‌شه و منابعش مال خودتونه.
  • با SSH و کلید وارد سرور می‌شن؛ به‌روزرسانی، دیوار آتش و پشتیبان سه تا کار اول امنیته.

خودتون رو بسنجید

۱۵ پرسش، هر بار تازه از میان ۳۰ پرسش این درس. آخرش فقط کارنامه رو می‌بینید: چند تا درست، چند تا نادرست.

خودتون رو بسنجید

۱۵ پرسش

  • هر بار پرسش‌ها و ترتیب گزینه‌ها عوض می‌شه.
  • تا آخر نمی‌گیم کدوم جواب درست بوده؛ می‌تونید برگردید و جوابتون رو عوض کنید.
  • آخرش کارنامه می‌گیرید: چند تا درست، چند تا نادرست.
  • اگه وسطش بستید، دوباره که باز کنید از همون‌جا ادامه می‌دید.

فصل‌های این درس