سایت بالا آمده، بازدید گرفته، و حالا هر روز ظهر خطای ۵۰۳ میبینید و پشتیبانی هاست فقط میگوید «مصرف CPU شما بالاست». این همان لحظهای است که باید تفاوت هاست و سرور مجازی را جدی بگیرید. در این مقاله نشانههای بزرگشدن از هاست اشتراکی را میشماریم، میگوییم با رفتن روی VPS دقیقاً چه چیزی عوض میشود، و یک چکلیست عملی مهاجرت برای سایتهای PHP و وردپرسی میدهیم — با این خیال راحت که تمرینِ کل ماجرا فقط چند هزار تومان خرج دارد.
نشانههایی که میگوید از هاست اشتراکی بزرگ شدهاید
هاست اشتراکی مثل واحدی در یک آپارتمان شلوغ است: ارزان و بیدردسر، تا وقتی که همسایهها ساکت باشند و خودتان هم مهمانی نگیرید. روی یک سرور اشتراکی دهها (گاهی صدها) سایت کنار هم نشستهاند و هاستینگ با ابزارهایی مثل CloudLinux برای هر کدام سقف مصرف تعیین میکند. این نشانهها یعنی به سقف خوردهاید:
- خطای ۵۰۳ یا ۵۰۸ (Resource Limit Reached) در ساعات شلوغ — یعنی درخواستها بیشتر از سهمیهی پردازشی شماست و بازدیدکنندهها پشت در میمانند.
- کندیهای بیدلیل و مقطعی — سایت شما تغییری نکرده اما بعضی روزها سنگین است؛ این «اثر همسایه» است: سایت پرمصرفِ کناری، دیسک و پردازندهی مشترک را میبلعد.
- دیوار محدودیتها — نسخهی PHP ثابت،
max_execution_timeکوتاه، ماژولهایی که نصب نمیشوند و کرانجابی که دقیقتر از هر ۱۵ دقیقه اجرا نمیشود. - نبود دسترسی root — Redis برای کش وردپرس میخواهید؟ Node.js کنار PHP؟ جواب همیشه یکی است: «در پلن شما موجود نیست».
- آیپی مشترک — اگر یکی از همسایهها اسپم بفرستد، آیپی مشترک بلکلیست میشود و ایمیلهای شما هم به اسپم میروند.
اگر بیش از دو مورد از این فهرست برایتان آشناست، مشکل از سایت شما نیست؛ از ظرف است.
تفاوت هاست و سرور مجازی در یک نگاه
تفاوت هاست و سرور مجازی را میشود در یک جمله خلاصه کرد: در هاست اشتراکی «فضایی روی سرورِ دیگران» اجاره میکنید، در سرور مجازی «سرورِ خودتان» را. VPS با مجازیسازی KVM ساخته میشود؛ یعنی رم و هستههای پردازنده واقعاً مال شماست، سیستمعامل را خودتان انتخاب میکنید و دسترسی root کامل دارید.
| معیار | هاست اشتراکی | سرور مجازی (VPS) |
|---|---|---|
| منابع (CPU/RAM) | مشترک با دهها سایت | اختصاصی و ایزوله (KVM) |
| دسترسی | فقط cPanel و FTP | root کامل + SSH |
| نرمافزار | فهرست ثابت هاستینگ | هرچه بخواهید: Redis، Node.js، Docker |
| آیپی | مشترک | اختصاصی |
| مدیریت و امنیت سرور | با هاستینگ | با شما |
| مقیاسپذیری | تعویض پلن، محدود | افزایش منابع با چند کلیک |
پس پاسخ سؤال «هاست یا VPS» به دو چیز برمیگردد: چقدر منابع لازم دارید و چقدر حاضرید مسئولیت بپذیرید. سطر آخر جدول را دستکم نگیرید — مهمترین بهای آزادی همان است.
روی VPS چه به دست میآورید و چه مسئولیتی میپذیرید؟
آزادیها
روی سرور مجازی، پشتهی نرمافزاری را خودتان میچینید: Nginx با PHP-FPM که برای وردپرس معمولاً چند برابر سریعتر از پیکربندی عمومی هاست اشتراکی است، کش آبجکت با Redis، نسخهی PHP دلخواه، و کرانجابهایی که هر دقیقه اجرا میشوند. منابع هم اختصاصی است؛ ترافیک همسایه دیگر معنایی ندارد، چون همسایهای در کار نیست.
مسئولیتها
در عوض، کارهایی که تا دیروز «وظیفهی هاستینگ» بود حالا وظیفهی شماست: نصب آپدیتهای امنیتی، پیکربندی فایروال، تنظیم بکاپ خودکار و زیرنظرداشتن منابع. هیچکدام سخت نیست، اما نادیدهگرفتنی هم نیست — راهنمای امنیت سرور لینوکس همین چند کار واجب را قدمبهقدم توضیح میدهد.
یک استثنای مهم: ایمیل. راهاندازی میلسرورِ سالم روی VPS کار پرزحمتی است. اگر ایمیلهای دامنه برایتان حیاتی است، آن را روی سرویس ایمیل جداگانه نگه دارید و فقط وبسایت را منتقل کنید.
چکلیست مهاجرت از هاست به سرور برای سایت PHP و وردپرس
مهاجرت از هاست به سرور ترسناک به نظر میرسد، اما در عمل هفت قدم مشخص است و اگر ترتیب را رعایت کنید، حتی یک دقیقه هم داونتایم لازم نیست:
- صورتبرداری کنید. نسخهی PHP و اکستنشنهای فعال (از phpinfo)، کرانجابها، و هر تنظیم خاصی در
.htaccessرا یادداشت کنید تا روی سرور جدید بازسازیشان کنید. - بکاپ کامل بگیرید. از cPanel یک Full Backup بگیرید، یا اگر هاستتان SSH دارد:
# on the old shared host mysqldump -u DB_USER -p DB_NAME > site-db.sql tar -czf site-files.tar.gz public_html/ - سرور جدید را آماده کنید. یک VPS اوبونتو بسازید و پشتهی Nginx + PHP-FPM + MariaDB را بالا بیاورید؛ راهنمای راهاندازی سایت با Nginx دقیقاً همین مسیر است. اگر با ترمینال راحت نیستید، اول آموزش اتصال SSH را ببینید.
- فایلها و دیتابیس را منتقل کنید. بکاپ را روی سرور جدید ببرید و برگردانید:
سپس اطلاعات اتصال دیتابیس را در# on the new VPS mysql -u wp_user -p wp_db < site-db.sql tar -xzf site-files.tar.gz -C /var/www/example.com/wp-config.phpبا کاربر و رمز جدید هماهنگ کنید. - قبل از تغییر DNS تست کنید. روی سیستم شخصیتان فایل hosts را ویرایش کنید تا دامنه موقتاً به آیپی سرور جدید اشاره کند — بدون اینکه بقیهی دنیا چیزی بفهمد:
حالا سایت را کامل بگردید: صفحات، فرمها، ورود به پیشخوان، آپلود تصویر.# local hosts file (Linux/Mac: /etc/hosts) # Windows: C:\Windows\System32\drivers\etc\hosts 203.0.113.10 example.com www.example.com - DNS را سوئیچ کنید. از یکی دو روز قبل TTL رکورد A را روی عدد کوچکی مثل ۳۰۰ ثانیه بگذارید تا تغییر سریع پخش شود؛ بعد آیپی را عوض کنید و SSL را با certbot فعال کنید. اگر با رکوردها آشنا نیستید، آموزش رکوردهای DNS را بخوانید.
- هاست قبلی را عجلهای نبندید. تا چند روز هر دو را نگه دارید؛ اگر جایی مشکلی دیدید، برگشتن فقط یک تغییر DNS است.
با پرداخت ساعتی، مهاجرت را اول «تمرین» کنید
بزرگترین ترس مهاجرت این است که پول یک ماه سرور را بدهید و وسط راه بفهمید هنوز آماده نیستید. مدل ساعتی این ترس را حذف میکند: در مهران هاست سرور را میسازید، کل چکلیست بالا را روی یک کپی از سایت تمرین میکنید، و اگر به نتیجه نرسیدید سرور را حذف میکنید — هزینهی چند ساعت تمرین، در حد یک لیوان چای است. وقتی مطمئن شدید همهچیز کار میکند، همان سرور را نگه میدارید و DNS واقعی را سوئیچ میکنید. جزئیات این مدل را در مقالهی سرور ابری ساعتی چیست نوشتهایم.
قدم بعدی
جمعبندی تفاوت هاست و سرور مجازی ساده است: هاست اشتراکی برای شروع عالی است، اما وقتی خطای ۵۰۳ و دیوار محدودیتها شروع شد، VPS با منابع اختصاصی و دسترسی root ادامهی طبیعی مسیر است. یک حساب بسازید، با چند هزار تومان شارژ کیف پول سرور آزمایشیتان را بالا بیاورید و مهاجرت را بدون ریسک تمرین کنید. قدم فنی بعدی هم آماده است: راهاندازی سایت با Nginx روی اوبونتو.