پیکربندی سرور وردپرس و ووکامرس، روی Docker

وردپرس شما، روی سرور خودتان. نه روی هاستی با هزار سایت دیگر.

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

  • ۳ روزتحویل کار
  • ۷ روزپشتیبانی رایگان بعد از تحویل
  • ۱۵ میلیونتومان، یک بار پرداخت

سفارش می‌دهماول ببینم سرور فعلی‌ام چقدر کند است

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

اول روشن کنیم: ما هاست نمی‌فروشیم. سرور هم نمی‌فروشیم.

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

کار ما پیکربندی سرور است: سرور مجازی (VPS)، VDS یا سرور اختصاصی شما را، هر جای دنیا که باشد، برای وردپرس و ووکامرس خودتان آماده می‌کنیم.

هاست اشتراکی یعنی چه؟ چیزی که کمتر کسی توضیح می‌دهد.

وقتی هاست می‌خرید، یک شرکت یک سرور خریده و روی آن صدها، گاهی هزار سایت گذاشته است. پردازنده، حافظه، دیسک و اینترنت آن سرور بین همه مشترک است.

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

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

هاست اشتراکییک ساختمان، صدها واحد. آسانسور، آب و برق مشترک است؛ اگر همسایه شلوغ کند، همه می‌مانند.
سرور خودتانیک خانه، یک ساکن. همه‌ی منابع مال همان یک سایت است و کلیدش دست خودتان.

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

سرور مجازی خودتانهاست اشتراکی
پورت شبکه۱۰۰ مگابیتمعمولا اختصاصی؛ همه‌اش برای همین یک سایت.۱۰ تا ۲۰ مگابیتبه تجربه‌ی ما، سهم هر سایت از پورت مشترک سرور در عمل همین‌قدر است.
دیسکNVMe خودتانهر خواندن و نوشتنی روی این دیسک، کار سایت شماست.۱ دیسک، ۱۰۰ تا ۱۰۰۰ سایتیک NVMe یا SSD که همه‌ی سایت‌های آن سرور هم‌زمان رویش می‌خوانند و می‌نویسند.
پردازنده۲ هسته‌ی واقعیفقط کار سایت شما را می‌کند، حتی وقتی همه‌ی دنیا شلوغ است.«۵ هسته» روی کاغذسقف سهم شما از پردازنده‌ای که صدها سایت دیگر هم از آن می‌کشند.
همسایه و کلیدبی‌همسایهدسترسی کامل (root) و داده‌ها پیش خودتان.صدها همسایهشلوغی یا هک شدن یکی به همه می‌رسد؛ کلید دست شرکت هاستینگ است.
روز کمپین را تصور کنید. ده نفر در یک لحظه صفحه‌ی ۲ مگابایتی محصول را باز می‌کنند؛ یعنی ۱۶۰ مگابیت که باید از سرور بیرون برود.

با ۱۰۰ مگابیتحدود ۱٫۶ ثانیه

با ۱۰ مگابیتحدود ۱۶ ثانیه

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

سهم هر سایت از پورت ۱ گیگابیتی، وقتی همه شلوغ‌اند۲ مگابیت
سرور مجازی خودتان، پورت تضمین‌شده۱۰۰ مگابیت تا ۱ گیگابیت

این یک حساب ساده است، نه اندازه‌گیری: پورت شبکه‌ی سرور هاست بین همه‌ی سایت‌های روی آن تقسیم می‌شود و هیچ سهمی برای سایت شما تضمین نشده است.

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

پلن‌ها را هم‌قیمت انتخاب کرده‌ایم تا مقایسه منصفانه باشد. هاست‌ها شرکت‌های خوبی هستند؛ فرق در خود مدل است: اشتراکی، یا مال خودتان.

برای دیدن سه هاست دیگر، جدول را به چپ بکشید.

سرور خودتان + پیکربندی تیم سفیدنمونه: سرور مجازی آسیاتک AT-VPS-B2ایران‌سرورهاست ووکامرس، Sonic 5برتیناهاست ووکامرس، WooStartهاست ایرانهاست وردپرس، بسته‌ی استارت‌آپ
هزینه‌ی ماهانه۱٬۱۶۰٬۹۵۰ تومان، مستقیم به دیتاسنتر۱٬۸۶۲٬۰۰۰ تومان۱٬۰۳۰٬۰۰۰ تومان۱٬۱۳۶٬۴۰۰ تومان
حافظه (RAM)۴ گیگابایت، فقط برای شما۵ گیگابایت، سقف مصرف۵ گیگابایت، سقف مصرف۴ گیگابایت، سقف مصرف
پردازنده۲ هسته، فقط برای شما۵ هسته، سقف مصرف روی سرور مشترک۵ هسته، سقف مصرف روی سرور مشترک۲ هسته، سقف مصرف روی سرور مشترک
فضای دیسک۴۰ گیگابایت، فقط برای شما۵ گیگابایت۵ گیگابایت۱۰ گیگابایت
پورت شبکهتضمین‌شده برای همین سرورنوشته نشده؛ مشترکنوشته نشده؛ مشترکنوشته نشده؛ مشترک
دسترسی کامل (root)داریدنداریدنداریدندارید
پنل مدیریتندارد؛ چیزی جز سایت شما منابع نمی‌گیردپنل هاست، روی همان سرورپنل هاست، روی همان سرورcPanel، روی همان سرور
تنظیم برای سایت شمابله، بر اساس افزونه‌ها و بازدید خودتانتنظیم عمومی برای همهتنظیم عمومی برای همهتنظیم عمومی برای همه
داده‌ها پیش کیستخودتان؛ سرور و IP به نام شماستشرکت هاستینگشرکت هاستینگشرکت هاستینگ
همسایه‌هانداریدسایت‌های دیگر روی همان سرورسایت‌های دیگر روی همان سرورسایت‌های دیگر روی همان سرور

قیمت و مشخصات از صفحه‌ی عمومی هر شرکت، مهر ۱۴۰۵، پلن ماهانه با سرور ایران. هزینه‌ی پیکربندی تیم سفید (۱۵ میلیون تومان) یک بار است و در این جدول نیامده؛ از ماه دوم فقط همان هزینه‌ی سرور را می‌دهید.

چه سروری بگیرم؟ چهار نمونه از سرورهای پیشنهادی ما.

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

  • برای بیشتر سایت‌ها همین کافی است

    AT-VPS-B2

    ۱٬۱۶۰٬۹۵۰ تومان در ماه

    حافظه
    ۴ گیگابایت
    پردازنده
    ۲ هسته
    دیسک
    ۴۰ گیگابایت
    IP اختصاصی و IPv6
    دارد

    مناسب: بیشتر سایت‌ها و فروشگاه‌ها

  • AT-VPS-G1

    ۱٬۵۱۷٬۴۵۰ تومان در ماه

    حافظه
    ۸ گیگابایت
    پردازنده
    ۴ هسته
    دیسک
    ۶۰ گیگابایت
    IP اختصاصی و IPv6
    دارد

    مناسب: فروشگاه پربازدید یا چند سایت

  • AT-VPS-G2

    ۲٬۷۸۸٬۴۵۰ تومان در ماه

    حافظه
    ۱۶ گیگابایت
    پردازنده
    ۸ هسته
    دیسک
    ۱۲۰ گیگابایت
    IP اختصاصی و IPv6
    دارد

    مناسب: فروشگاه بزرگ با کمپین‌های سنگین

  • AT-VPS-A1

    ۶٬۳۵۳٬۴۵۰ تومان در ماه

    حافظه
    ۲۴ گیگابایت
    پردازنده
    ۱۶ هسته
    دیسک
    ۲۴۰ گیگابایت
    IP اختصاصی و IPv6
    دارد

    مناسب: ترافیک خیلی بالا یا چند فروشگاه بزرگ

حتی همان سرور پایه‌ی ماهی ۱٬۱۶۰٬۹۵۰ تومان هم برای بیشتر سایت‌ها روان و بی‌دردسر جواب می‌دهد. به تجربه‌ی ما، با پیکربندی و کش‌هایی که رویش می‌گذاریم، همین سرور کاری می‌کند که از یک هاست ماهی ۱۰ میلیون تومانی انتظار دارید.

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

سرور را از روی سایت خود شما می‌سازیم. نه از روی یک الگوی آماده.

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

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

برگه‌ی پیکربندی shop.example.ir

ووکامرس، ۴۲ افزونه‌ی فعال، ۸٬۴۰۰ محصول

pm.max_children
۱۸
innodb_buffer_pool_size
1.5G
redis maxmemory
256M
opcache.memory
192M
کش نمی‌شود
/cart /checkout /my-account
کش صفحه
۱۰ دقیقه، با پاک‌سازی خودکار هنگام تغییر محصول

روی سرور شما چه چیزی ساخته می‌شود؟ نسل تازه‌ی میزبانی وردپرس.

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

  1. بازدیدکننده
  2. فایروالحمله و ربات مزاحم همین‌جا می‌ماند
  3. Nginxصفحه‌ی آماده را از کش می‌دهد
  4. PHP و وردپرسفقط برای سبد خرید و پرداخت
  5. Redis و MariaDBداده، از حافظه
  1. دیتابیسی تا ۱۰ برابر سریع‌تر: به تجربه‌ی ما. جستجو، فیلتر محصول، سبد خرید و پنل مدیریت وردپرس؛ همان چیزهایی که روی هاست نفس‌بر بودند.
  2. سایتی تا ۱۰ برابر سریع‌تر: باز هم به تجربه‌ی ما؛ چون کل توان سرور فقط برای سایت شماست و برای همان سایت تنظیم شده است.
  3. آماده برای روز کمپین: وقتی هزار نفر با هم می‌آیند، سایت جواب می‌دهد؛ به‌جای اینکه درست در روز فروش از دسترس خارج شود.
  4. امن از پایه: بدون پنل هاست و حفره‌هایش؛ ورود فقط با کلید، درگاه‌های بسته، و هر سرویس جدا از بقیه.
  5. حریم خصوصی: اطلاعات مشتری‌ها و سفارش‌ها روی سرور خودتان است، نه روی سرور یک شرکت دیگر کنار صدها سایت.

۱۲ کاری که در همین طرح، بدون هزینه‌ی اضافه انجام می‌دهیم.

  • انتقال کامل سایتفایل‌ها، دیتابیس و تنظیم‌ها از هاست یا سرور قبلی، با کمترین زمان قطعی.
  • کش دیتابیس با Redisجواب پرسش‌های تکراری وردپرس از حافظه داده می‌شود، نه از دیسک.
  • کش صفحه در Nginxبیشتر بازدیدها اصلا به PHP و وردپرس نمی‌رسند؛ صفحه‌ی آماده تحویل داده می‌شود.
  • نیم‌سرور اختصاصیDNS روی دامنه‌ی خودتان (ns1 و ns2 به نام سایت شما)، بدون وابستگی به سرویس DNS دیگران.
  • ایمیل سرورصندوق‌های ایمیل دامنه‌ی خودتان، با تنظیم SPF، DKIM و DMARC تا ایمیل‌ها به اسپم نروند.
  • فایروال و مقابله با DDoSدرگاه‌های بسته، محدودیت نرخ درخواست و قانون‌هایی که جلوی حمله و ربات مزاحم را می‌گیرد.
  • گواهی SSL خودکارصدور و تمدید خودکار؛ هیچ‌وقت منقضی نمی‌شود.
  • پشتیبان‌گیری خودکارروزانه از فایل‌ها و دیتابیس، با نگه‌داری چند نسخه.
  • با CDN یا بدون آناگر بخواهید CDN را وصل می‌کنیم؛ ولی سرور را طوری می‌سازیم که خودش به‌تنهایی جواب بدهد و به CDN نیاز نداشته باشد.
  • به‌روزرسانی امنیتی خودکاروصله‌های امنیتی سیستم‌عامل بدون دخالت شما نصب می‌شوند.
  • PHP تنظیم‌شده و OPcacheنسخه‌ی مناسب PHP، تعداد پردازش‌ها به اندازه‌ی بازدید شما، و کش کد.
  • مستند و دسترسی کاملهمه‌ی رمزها، ساختار و تنظیم‌ها را مکتوب تحویل می‌گیرید. سرور مال شماست.

سرور داخل ایران باشد یا خارج؟ بسته به اینکه مشتری‌های شما کجا هستند.

پیشنهاد ما: سرور داخل ایران، با اینترنت بین‌الملل.

  • با شرایط امروز اینترنت ایران، سروری که خارج از کشور باشد برای بازدیدکننده‌ی داخل ایران کند و ناپایدار است.
  • سرور داخل ایران برای مشتری ایرانی نزدیک‌ترین و سریع‌ترین مسیر است.
  • برای بازدیدکننده‌های خارج از ایران و کسانی که با VPN می‌آیند هم راه داریم: سرور با اینترنت بین‌الملل، نیم‌سرور اختصاصی روی دامنه‌ی خودتان و اتصال مستقیم، بدون CDN و سرویس ابری واسط. سایت از هر دو طرف باز می‌شود.

کار چند روز طول می‌کشد؟ ۳ روز، از روزی که دسترسی را می‌دهید.

  1. پیش از شروعسایت فعلی را بررسی می‌کنیم و می‌گوییم چه سروری لازم دارید. سرور را می‌خرید و دسترسی‌اش را در پنل می‌گذارید.
  2. روز اولسرور امن و آماده می‌شود: فایروال، Docker، وب‌سرور، دیتابیس، Redis و گواهی SSL.
  3. روز دومسایت روی سرور تازه می‌آید، کنار سایت فعلی که هنوز روشن است. تنظیم‌ها را از روی افزونه‌های خودتان انجام می‌دهیم.
  4. روز سومسایت تازه را تست می‌کنید. دامنه را وصل می‌کنیم، و مستند و دسترسی کامل را تحویل می‌گیرید.

عجله دارید؟ هنگام سفارش «عجله دارم» را بزنید: کار به‌جای ۳ روز در کمتر از یک روز تحویل می‌شود. هزینه‌ی کار فوری دو برابر است، چون همان کار را جلوتر از نوبت و با نفرات بیشتر انجام می‌دهیم.

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

بعد از تحویل چه می‌شود؟ و اگر بعدا مشکلی پیش آمد؟

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

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

درخواست کار موردی از داخل پنل

۷ روز پشتیبانی رایگانبعد از آن: فقط وقتی کاری داشتید، فقط هزینه‌ی همان کار

سوال‌هایی که می‌پرسند.

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

این کار، کنار دو کار دیگر کامل می‌شود. سرور، سرعت و سئو روی هم اثر دارند.

سایت‌تان را به خانه‌ی خودش ببرید.

هنوز مطمئن نیستید؟ اول سایت‌تان را رایگان تست کنید؛ عددها خودشان می‌گویند.

تست از سرور ایران (تهران) انجام می‌شود. فقط صفحه‌ی اصلی سایت بررسی می‌شود.

بیشتر

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

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

هاست اشتراکی یا سرور مجازی؛ اول بدانیم هر کدام چیست

هاست اشتراکی (Shared Hosting) یعنی یک شرکت یک سرور فیزیکی بزرگ خریده و روی آن تعداد زیادی سایت گذاشته است. همه‌ی آن سایت‌ها از یک پردازنده، یک مجموعه حافظه، یک یا چند دیسک و یک اتصال اینترنت استفاده می‌کنند. شما یک پنل مدیریت (مثل سی‌پنل یا دایرکت‌ادمین) می‌گیرید و یک «سقف مصرف»؛ یعنی اجازه دارید حداکثر تا فلان مقدار از منابع مشترک بردارید، اگر همان لحظه آزاد باشد.

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

یک واژه‌ی دیگر هم زیاد می‌شنوید: root. یعنی دسترسی کامل به سیستم‌عامل سرور، مثل کلید همه‌ی درهای یک خانه. در هاست اشتراکی این کلید دست شرکت هاستینگ است و شما فقط کلید واحد خودتان را دارید. در سرور مجازی کلید دست خودتان است؛ هم آزادی می‌آورد، هم مسئولیت.

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

تفاوت هاست و سرور مجازی در چهار منبعی که سرعت را می‌سازند

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

پورت شبکه؛ همان لوله‌ای که صفحه از آن می‌گذرد

هر سرور یک اتصال به اینترنت دارد که به آن پورت شبکه می‌گویند و ظرفیتش با «مگابیت بر ثانیه» سنجیده می‌شود. «ترافیک نامحدود» درباره‌ی حجم کل ماهانه است، نه درباره‌ی پهنای این لوله. به تجربه‌ی ما، یک سرور مجازی معمولا ۱۰۰ مگابیت پورت اختصاصی دارد، در حالی که سهم یک سایت روی هاست اشتراکی از پورت مشترک سرور در عمل حدود ۱۰ تا ۲۰ مگابیت است.

این فرق را با یک حساب ساده حس کنید (این حساب است، نه اندازه‌گیری، و عوامل دیگر را کنار گذاشته‌ایم). یک صفحه‌ی محصول ۲ مگابایتی یعنی ۱۶ مگابیت داده. اگر ۱۰ نفر هم‌زمان آن را باز کنند، ۱۶۰ مگابیت باید فرستاده شود. با ۱۰۰ مگابیت این کار حدود ۱٫۶ ثانیه طول می‌کشد؛ با ۱۰ مگابیت حدود ۱۶ ثانیه. حالا روز کمپین را تصور کنید که این ۱۰ نفر، ۱۰۰ نفر می‌شوند.

دیسک؛ جایی که وردپرس هر لحظه از آن می‌خواند

وردپرس برای ساختن هر صفحه، فایل‌های PHP، عکس‌ها و دیتابیس را از دیسک می‌خواند. دیسک‌های تازه (NVMe و SSD) خیلی سریع‌اند، ولی سرعتشان بین همه‌ی کسانی که هم‌زمان رویشان کار می‌کنند تقسیم می‌شود. به تجربه‌ی ما، در هاست اشتراکی یک دیسک NVMe یا SSD معمولا بین ۱۰۰ تا ۱۰۰۰ سایت تقسیم شده است و همه هم‌زمان روی آن می‌خوانند و می‌نویسند. وقتی یکی از همسایه‌ها پشتیبان می‌گیرد یا دیتابیس سنگینی را مرتب می‌کند، صف خواندن شما هم طولانی می‌شود.

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

پردازنده؛ «۵ هسته» دقیقا یعنی چه

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

همسایه‌ها و کلید؛ امنیت و مالکیت داده

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

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

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

خود ووکامرس در صفحه‌ی نیازمندی‌های سرور حافظه‌ی وردپرس را ۲۵۶ مگابایت یا بیشتر توصیه می‌کند، همراه PHP نسخه‌ی ۸٫۳ یا بالاتر و MySQL نسخه‌ی ۸ یا MariaDB نسخه‌ی ۱۰٫۶ یا بالاتر. روی هاست اشتراکی همیشه اختیار این عددها دست خودتان نیست. یک سرور ووکامرس اختصاصی این‌ها را دقیقا به اندازه‌ی نیاز همان فروشگاه تنظیم می‌کند.

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

چه وقت وقت رفتن به سرور مجازی وردپرس است

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

  1. پیغام تمام شدن منابع. پنل هاست هشدار می‌دهد که از سقف پردازنده یا حافظه گذشته‌اید، یا سایت گاهی به‌جای صفحه، خطای «منابع تمام شد» نشان می‌دهد.
  2. پاسخ کند سرور. گوگل در مقاله‌ی TTFB در web.dev می‌گوید بیشتر سایت‌ها باید زمان رسیدن اولین بایت (TTFB، یعنی فاصله‌ی درخواست تا اولین جواب سرور) را ۰٫۸ ثانیه یا کمتر نگه دارند. اگر سایت شما مدام از این بیشتر است، بخشی از مشکل احتمالا سرور است.
  3. پیشخوان کند وردپرس. ذخیره کردن یک محصول، باز شدن فهرست سفارش‌ها یا جستجو در پنل مدیریت چند ثانیه طول می‌کشد.
  4. روز کمپین ترسناک است. هر بار که تبلیغ یا تخفیف می‌گذارید، نگران‌اید سایت بالا بماند.
  5. تنظیم دلخواه ممکن نیست. می‌خواهید کش Redis داشته باشید، نسخه‌ی PHP را عوض کنید یا کار زمان‌بندی‌شده‌ی سیستمی بگذارید و هاست اجازه نمی‌دهد.
  6. داده‌ی مشتری برایتان مهم است. می‌خواهید بدانید اطلاعات سفارش‌ها دقیقا کجاست و چه کسی به آن دسترسی دارد.

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

وقتی سرور مجازی جواب نیست

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

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

یک وبلاگ کوچک با چند صد بازدید در روز هم معمولا روی یک هاست خوب راحت است و لازم نیست برای سرور مجازی هزینه کند.

انتقال وردپرس به سرور مجازی، قدم به قدم و بدون از دست دادن سفارش

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

  1. پشتیبان کامل. پیش از هر کاری، یک نسخه‌ی کامل از فایل‌ها (پوشه‌ی وردپرس، به‌خصوص پوشه‌ی بارگذاری‌ها) و دیتابیس گرفته و جایی بیرون از هاست نگه داشته می‌شود.
  2. فهرست نیازها. نسخه‌ی PHP، افزونه‌ها، کارهای زمان‌بندی‌شده، درگاه پرداخت و صندوق‌های ایمیل دامنه یادداشت می‌شوند تا روی سرور تازه چیزی جا نماند.
  3. ساختن سرور تازه. سرور امن می‌شود و سرویس‌ها نصب و تنظیم می‌شوند، در حالی که سایت فعلی هنوز همان‌جا کار می‌کند.
  4. کپی سایت. فایل‌ها و دیتابیس روی سرور تازه می‌آیند.
  5. تست پیش از جابه‌جایی. سایت تازه را می‌شود پیش از عوض کردن دامنه دید؛ با یک تنظیم کوچک روی کامپیوتر خودتان (فایل hosts) که مرورگر شما را به سرور تازه می‌برد، در حالی که بقیه‌ی مردم هنوز سایت قدیم را می‌بینند. صفحه‌ها، فرم‌ها، سبد خرید و ورود به پیشخوان این‌جا بررسی می‌شوند.
  6. کوتاه کردن TTL دامنه. TTL مدت زمانی است که سرورهای DNS اینترنت آدرس قدیمی سایت را به خاطر می‌سپارند. یکی دو روز پیش از جابه‌جایی کوتاهش می‌کنند تا تغییر نشانی زود به همه برسد.
  7. همگام‌سازی آخر. در یک فروشگاه، از لحظه‌ی کپی تا لحظه‌ی جابه‌جایی ممکن است سفارش تازه ثبت شده باشد. پس درست پیش از جابه‌جایی، آخرین تغییرات دیتابیس دوباره منتقل می‌شود.
  8. جابه‌جایی در ساعت کم‌بازدید. دامنه به سرور تازه اشاره می‌کند. این لحظه معمولا چند دقیقه است.
  9. بررسی بعد از جابه‌جایی. گواهی SSL، ایمیل‌ها، برگشت از درگاه پرداخت، پیوندهای یکتا و کارهای زمان‌بندی‌شده دوباره امتحان می‌شوند.
  10. نگه داشتن هاست قبلی برای چند روز. تا مطمئن نشده‌اید همه‌چیز درست است، هاست قبلی را پاک نکنید؛ بهترین راه برگشت است.

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

روی سرور مجازی وردپرس چه چیزهایی باید تنظیم شود

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

وب‌سرور و PHP

صفحه‌ی نیازمندی‌های وردپرس PHP نسخه‌ی ۸٫۳ یا بالاتر، MariaDB نسخه‌ی ۱۰٫۱۱ یا MySQL نسخه‌ی ۸ به بالا، و پشتیبانی از HTTPS را توصیه می‌کند و Apache یا Nginx را بهترین وب‌سرورها برای وردپرس می‌داند. Nginx نرم‌افزاری است که درخواست بازدیدکننده را می‌گیرد و جواب را برمی‌گرداند. پشت آن PHP-FPM است، یعنی مجموعه‌ای از «کارگرها» که کد وردپرس را اجرا می‌کنند. تعداد این کارگرها باید به اندازه‌ی حافظه‌ی سرور و بازدید واقعی سایت انتخاب شود: کم باشد، بازدیدکننده‌ها در صف می‌مانند؛ زیاد باشد، حافظه تمام می‌شود. OPcache هم کد PHP را یک بار ترجمه و در حافظه نگه می‌دارد تا در هر بازدید از نو خوانده نشود.

کش Redis و Nginx

دو کش جدا، دو کار جدا:

  • کش صفحه در Nginx. نسخه‌ی آماده‌ی صفحه‌ها نگه داشته می‌شود و بیشتر بازدیدها اصلا به PHP و دیتابیس نمی‌رسند. در ووکامرس قانون مهم این است که سبد خرید، صفحه‌ی پرداخت و حساب کاربری هرگز کش نشوند، و با تغییر قیمت یا موجودی، کش همان محصول پاک شود.
  • کش شیء با Redis. وردپرس برای ساختن هر صفحه پرسش‌های زیادی از دیتابیس می‌پرسد. مستندات خود وردپرس می‌گوید کش داخلی‌اش به‌طور پیش‌فرض ماندگار نیست و فقط تا پایان همان درخواست در حافظه می‌ماند؛ برای ماندگار شدنش باید سرویسی مثل Redis و افزونه‌ی آن نصب شود. Redis یک انبار داده در حافظه است که جواب پرسش‌های تکراری را نگه می‌دارد. این کار به‌خصوص پیشخوان وردپرس و صفحه‌های کش‌نشدنی ووکامرس را روان می‌کند.

دیتابیس

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

کارهای زمان‌بندی‌شده

وردپرس کارهای زمان‌بندی‌شده‌اش (مثل انتشار نوشته‌ی زمان‌دار یا ایمیل‌های ووکامرس) را با سازوکاری به نام WP-Cron انجام می‌دهد که با هر بازدید صفحه بررسی می‌شود. راهنمای رسمی وردپرس توضیح می‌دهد که این کار منابع اضافه مصرف می‌کند و بهتر است به زمان‌بند خود سیستم‌عامل سپرده شود؛ کاری که معمولا روی هاست اشتراکی دست شما نیست.

امنیت پایه

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

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

پشتیبان‌گیری و ایمیل

پشتیبان روزانه از فایل‌ها و دیتابیس، با چند نسخه‌ی قدیمی‌تر، ضروری است؛ و بهتر است یک نسخه بیرون از خود سرور هم نگه داشته شود. اگر ایمیل دامنه روی همان سرور است، تنظیم‌های SPF، DKIM و DMARC (سه رکورد DNS که به سرویس‌های ایمیل ثابت می‌کنند ایمیل واقعا از دامنه‌ی شماست) لازم است تا نامه‌ها به پوشه‌ی هرزنامه نروند.

Docker وردپرس؛ چرا هر سرویس در محفظه‌ی خودش

Docker ابزاری است که هر سرویس را در یک «محفظه» (کانتینر) جدا اجرا می‌کند: Nginx در یکی، PHP و وردپرس در یکی، MariaDB در یکی و Redis در یکی. هر محفظه هر چیزی را که لازم دارد با خودش دارد. این جدایی سه فایده‌ی ملموس دارد:

  • مشکل یکی به بقیه سرایت نمی‌کند. اگر یک سرویس به مشکل بخورد، بقیه سر جایشان هستند و آن سرویس جدا دوباره بالا می‌آید.
  • به‌روزرسانی و برگشت ساده است. نسخه‌ی تازه‌ی PHP را می‌شود امتحان کرد و اگر افزونه‌ای با آن نساخت، با یک دستور به نسخه‌ی قبل برگشت.
  • جابه‌جایی آسان است. اگر روزی بخواهید دیتاسنتر یا سرور را عوض کنید، کل مجموعه با تنظیم‌های مکتوبش روی سرور تازه بالا می‌آید.

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

سرور مجازی در ایران یا خارج از ایران

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

هزینه‌ی واقعی؛ ماهانه و یک‌باره

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

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

پیکربندی سرور وردپرس با تیم سفید

ما هاست یا سرور نمی‌فروشیم و از خرید سرور شما سودی نمی‌بریم؛ برای همین است که این مقایسه را بی‌طرف نوشته‌ایم. کار ما فقط پیکربندی است: سرور مجازی، VDS یا اختصاصی را خودتان از هر دیتاسنتری که بخواهید، به نام خودتان می‌خرید. ما آن را با Docker برای همان سایت می‌سازیم، با کش Nginx و Redis، فایروال، گواهی SSL خودکار و پشتیبان‌گیری روزانه؛ سایت را کنار سایت فعلی منتقل و تست می‌کنیم و مستند و دسترسی کامل را تحویل‌تان می‌دهیم.

هزینه‌ی این کار ۱۵ میلیون تومان است، یک بار، و ۳ روز طول می‌کشد. اگر عجله دارید، در کمتر از یک روز هم انجام می‌شود، با دو برابر هزینه. بعد از تحویل ۷ روز پشتیبانی رایگان دارید و هیچ هزینه‌ی ماهانه‌ای به ما نمی‌دهید.

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

پرسش‌های رایج

برای سرور مجازی وردپرس باید لینوکس بلد باشم؟

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

هاست وردپرس مدیریت‌شده همان سرور مجازی نیست؟

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

سایت هنگام انتقال خاموش می‌شود؟

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

ووکامرس با کش صفحه مشکل پیدا نمی‌کند؟

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

چند سایت را می‌شود روی یک سرور مجازی گذاشت؟

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