سایت باز نمیشود ولی VPS روشن است؟ چکلیست کامل پیدا کردن علت
گاهی وارد پنل مدیریت VPS میشوید و میبینید سرور کاملاً روشن و فعال است، اما وقتی آدرس سایت را در مرورگر وارد میکنید، صفحه باز نمیشود. ممکن است مرورگر خطای Connection Refused، Connection Timed Out، 502 Bad Gateway، 503 Service Unavailable یا حتی خطای DNS نمایش دهد.
روشن بودن سرور بهتنهایی به معنی سالم بودن وبسایت نیست. برای نمایش یک سایت، چندین بخش مختلف باید بهدرستی کار کنند؛ از DNS و شبکه گرفته تا وبسرور، فایروال، PHP، دیتابیس و تنظیمات دامنه. در این آموزش یک چکلیست کامل و مرحلهبهمرحله برای پیدا کردن علت مشکل در اختیار شما قرار میدهیم.
این راهنما برای چه سرورهایی مناسب است؟
این آموزش برای بیشتر VPSهای لینوکسی قابل استفاده است، از جمله:
🔹 Ubuntu 20.04
🔹 Ubuntu 22.04
🔹 Ubuntu 24.04 و نسخههای جدیدتر
🔹 Debian 10، 11، 12 و 13
🔹 Rocky Linux
🔹 AlmaLinux
🔹 CentOS
🔹 RHEL
🔹 Oracle Linux
🔹 Fedora Server
🔹 openSUSE
🔹 SUSE Linux Enterprise
⚠️ توجه: نام بعضی سرویسها و دستورات در توزیعهای مختلف ممکن است متفاوت باشد. در این مقاله بیشتر از دستورات رایج در Ubuntu و Debian استفاده شده است.
قبل از شروع؛ مشکل دقیقاً چیست؟
اول باید مشخص کنید سایت چه خطایی نشان میدهد. نوع خطا میتواند مسیر عیبیابی را بسیار کوتاهتر کند. بنابراین قبل از تغییر تنظیمات، متن دقیق خطا را یادداشت کنید.
خطاهای رایج و علتهای احتمالی
DNS_PROBE_FINISHED_NXDOMAIN ← مشکل DNS یا ثبت نشدن دامنه
Connection Timed Out ← فایروال، شبکه، پورت یا خاموش بودن سرویس
Connection Refused ← وبسرور روی پورت موردنظر اجرا نیست
404 Not Found ← فایل یا مسیر سایت پیدا نمیشود
403 Forbidden ← مجوز فایل یا تنظیمات دسترسی
500 Internal Server Error ← مشکل PHP، کد سایت یا تنظیمات سرور
502 Bad Gateway ← مشکل PHP-FPM یا سرویس Backend
503 Service Unavailable ← سرویس وب یا Backend در دسترس نیست
صفحه سفید ← خطای PHP یا مشکل برنامه
سایت با IP باز میشود ولی با دامنه نه ← معمولاً DNS یا Virtual Host
مرحله اول: مطمئن شوید VPS واقعاً در دسترس است
اول با SSH به سرور متصل شوید. مثلاً:
اگر SSH نیز کار نمیکند، مشکل احتمالاً فقط مربوط به سایت نیست و باید ابتدا وضعیت شبکه، SSH و فایروال را بررسی کنید. اگر وارد سرور شدید، وضعیت کلی سیستم را بررسی کنید:
free -h
df -h
اگر پارتیشن اصلی تقریباً ۱۰۰ درصد پر شده باشد، بسیاری از سرویسها ممکن است دچار مشکل شوند. اگر چیزی شبیه این مشاهده کردید:
ابتدا باید فضای آزاد ایجاد کنید.
مرحله دوم: بررسی کنید IP سرور درست است
گاهی دامنه به IP اشتباه اشاره میکند. IPهای سرور را مشاهده کنید:
hostname -I
سپس IP نمایش دادهشده را با IP مربوط به VPS در پنل سرویسدهنده مقایسه کنید. اگر IP تغییر کرده باشد اما DNS همچنان به IP قبلی اشاره کند، سایت با دامنه باز نخواهد شد.
مرحله سوم: بررسی DNS دامنه
اگر با IP سایت باز میشود اما با دامنه باز نمیشود، یکی از اولین مواردی که باید بررسی کنید DNS است. برای بررسی رکورد A دامنه:
nslookup example.com
باید IP برگشتی با IP سرور شما مطابقت داشته باشد. مثلاً اگر VPS شما این IP را دارد:
رکورد A دامنه باید به همین IP اشاره کند. ساختار معمول DNS به این شکل است:
www.example.com A SERVER_IP
البته بسته به تنظیمات DNS ممکن است www به شکل CNAME تنظیم شده باشد.
مرحله چهارم: بررسی کنید پورت ۸۰ باز است
سایتهای HTTP معمولاً از پورت ۸۰ استفاده میکنند. برای بررسی پورتهای در حال Listen:
به دنبال چیزی شبیه این باشید:
اگر سایت HTTPS است، پورت ۴۴۳ نیز باید فعال باشد:
اگر هیچ سرویسی روی پورت ۸۰ یا ۴۴۳ وجود ندارد، احتمالاً وبسرور اجرا نشده یا روی پورت دیگری تنظیم شده است.
مرحله پنجم: بررسی وضعیت Apache
اگر از Apache استفاده میکنید:
اگر سرویس خاموش باشد:
برای اجرای خودکار Apache بعد از ریبوت:
بعد دوباره وضعیت را بررسی کنید:
بررسی صحت تنظیمات Apache
قبل از Restart کردن Apache بهتر است تنظیمات آن را تست کنید:
اگر نتیجه این باشد:
ساختار کلی تنظیمات صحیح است. اگر خطایی مشاهده کردید، ابتدا همان خطا را برطرف کنید.
مرحله ششم: بررسی وضعیت Nginx
اگر بهجای Apache از Nginx استفاده میکنید:
برای تست تنظیمات:
در صورت صحیح بودن تنظیمات معمولاً پیام موفقیت نمایش داده میشود. بعد از اصلاح تنظیمات:
مرحله هفتم: بررسی کنید Apache و Nginx همزمان پورت ۸۰ را نگرفته باشند
یکی از مشکلات رایج این است که کاربر هم Apache و هم Nginx را نصب کرده و هر دو قصد دارند روی پورت ۸۰ اجرا شوند. بررسی کنید چه سرویسی پورت ۸۰ را گرفته است:
همچنین برای پورت ۴۴۳:
اگر دو سرویس برای یک پورت رقابت کنند، ممکن است یکی از آنها اجرا نشود.
🚀 سرور مجازی پرسرعت و پایدار میخواهید؟
اگر سایت شما روی VPS فعلی مدام قطع میشود، صفحات دیر باز میشوند یا وبسرور روی پورت درست Listen نمیکند، ریشه مشکل معمولاً در منابع محدود، دیسک کند و پشتیبانی ضعیف است. ایرانیکاسرور با منابع اختصاصی CPU و RAM، دیسک NVMe، پهنای باند نامحدود، آپتایم ۹۹.۹٪ و پشتیبانی ۲۴/۷ تجربهای بدون قطعی برای سایت شما فراهم میکند.
تماس با پشتیبانی: 91302467-021 | ایرانیکاسرور
مرحله هشتم: بررسی فایروال سرور
حتی اگر Apache یا Nginx بهدرستی اجرا شده باشد، ممکن است فایروال اتصال ورودی را مسدود کند. اگر از UFW استفاده میکنید:
باید پورتهای موردنیاز باز باشند. برای وبسایت معمولاً:
ufw allow 443/tcp
سپس:
⚠️ هشدار: قبل از تغییر تنظیمات فایروال، مطمئن شوید دسترسی SSH خود را مسدود نمیکنید.
مرحله نهم: بررسی فایروال سرویسدهنده VPS
گاهی مشکل از فایروال داخل لینوکس نیست. برخی ارائهدهندگان VPS دارای فایروال یا Security Group در پنل خود هستند. در پنل سرویسدهنده بررسی کنید که پورتهای زیر اجازه دسترسی داشته باشند:
🔹 TCP 80
🔹 TCP 443
اگر فایروال خارجی پورت ۸۰ یا ۴۴۳ را مسدود کرده باشد، سایت از اینترنت قابل دسترسی نخواهد بود.
مرحله دهم: تست سایت از داخل خود سرور
این مرحله بسیار مهم است. روی خود VPS اجرا کنید:
اگر پاسخ HTTP دریافت کردید، مثلاً:
یعنی وبسرور حداقل در داخل سرور پاسخ میدهد. اگر سایت HTTPS است:
ممکن است به دلیل SSL و تنظیمات Virtual Host خطا دریافت کنید؛ بنابراین در این حالت بهتر است دامنه را نیز تست کنید. مثلاً:
مرحله یازدهم: بررسی Virtual Host یا Server Block
ممکن است وبسرور اجرا باشد اما دامنه به سایت صحیح متصل نشده باشد. در Apache، فایلهای Virtual Host معمولاً در این مسیر قرار دارند:
لیست آنها:
سپس Virtual Host فعال را بررسی کنید. برای مشاهده سایتهای فعال:
در Nginx معمولاً تنظیمات سایتها در مسیرهایی مانند:
/etc/nginx/sites-enabled/
مرحله دوازدهم: بررسی DocumentRoot
یکی از مشکلات رایج این است که Apache یا Nginx به پوشه اشتباه اشاره میکند. مثلاً ممکن است فایلهای سایت شما در:
باشند، اما Apache همچنان از:
سایت را سرو کند. در Apache باید مقدار DocumentRoot را بررسی کنید. مثلاً:
ServerName example.com
ServerAlias www.example.com
DocumentRoot /var/www/example
</VirtualHost>
بعد از تغییر تنظیمات:
و سپس:
مرحله سیزدهم: بررسی وجود فایل index
اگر وبسرور فعال است اما سایت نمایش داده نمیشود، بررسی کنید فایل اصلی سایت وجود داشته باشد. مثلاً:
ممکن است فایل اصلی یکی از این موارد باشد:
🔹 index.html
🔹 index.php
اگر سایت PHP است و فایل index.php وجود ندارد، ممکن است صفحه موردنظر نمایش داده نشود.
مرحله چهاردهم: بررسی مجوز فایلها
تنظیمات اشتباه Permission میتواند باعث خطاهای 403 Forbidden یا مشکلات اجرای سایت شود. برای مشاهده مجوزها:
مالک فایلها نیز اهمیت دارد. در بعضی تنظیمات Apache، مالکیت فایلها میتواند با کاربر وبسرور هماهنگ شود. برای Apache در Ubuntu معمولاً کاربر وبسرور:
اما قبل از تغییر مالکیت کل پروژه، بهتر است ساختار برنامه و نیازهای آن را بررسی کنید؛ تغییر اشتباه Permission ممکن است مشکلات امنیتی یا اجرایی ایجاد کند.
مرحله پانزدهم: اگر سایت PHP است، PHP را بررسی کنید
ممکن است Apache سالم باشد اما PHP اجرا نشود. نسخه PHP را بررسی کنید:
اگر از PHP-FPM استفاده میکنید، وضعیت سرویس را بررسی کنید. برای مثال:
شماره نسخه را متناسب با نسخه نصبشده تغییر دهید. برای پیدا کردن سرویسهای PHP:
مرحله شانزدهم: بررسی PHP-FPM و خطای 502
اگر Nginx یا Apache به PHP-FPM متصل است و خطای:
502 Bad Gateway
میبینید، وضعیت PHP-FPM را بررسی کنید. مثلاً:
اگر سرویس متوقف شده است:
سپس وبسرور را نیز بررسی کنید.
مرحله هفدهم: بررسی دیتابیس MySQL یا MariaDB
اگر سایت به دیتابیس متصل است، سالم بودن MySQL یا MariaDB را بررسی کنید. برای MySQL:
برای MariaDB:
اگر دیتابیس اجرا نمیشود:
یا در صورت استفاده از MariaDB، سرویس mariadb را ریاستارت کنید.
مرحله هجدهم: بررسی لاگهای خطا
لاگها بهترین راهنما برای پیدا کردن ریشه مشکل هستند. برای مشاهده لاگ خطای Nginx:
و برای Apache:
در بسیاری از موارد، خطای دقیق در همین لاگها ثبت شده و مسیر عیبیابی را بسیار کوتاه میکند.
🎯 جمعبندی و توصیههای کلیدی
روشن بودن VPS بهمعنای سالم بودن وبسایت نیست. برای رفع مشکل «سایت باز نمیشود»، این مسیر را به ترتیب طی کنید:
🔹 وضعیت SSH و دسترسی به سرور را بررسی کنید.
🔹 DNS دامنه را چک کنید (رکورد A و CNAME).
🔹 پورتهای ۸۰ و ۴۴۳ را با ss -tulpn بررسی کنید.
🔹 وضعیت Apache یا Nginx را چک کنید.
🔹 فایروال سرور و فایروال پنل سرویسدهنده را بررسی کنید.
🔹 Virtual Host و DocumentRoot را کنترل کنید.
🔹 PHP، PHP-FPM و دیتابیس را بررسی کنید.
🔹 لاگهای خطا را فراموش نکنید: /var/log/nginx/error.log یا /var/log/apache2/error.log
💡 توصیه: اگر بعد از طی این مراحل همچنان مشکل پابرجا بود، با پشتیبانی ایرانیکاسرور تماس بگیرید. تیم فنی ما بهصورت ۲۴/۷ آماده بررسی و رفع مشکل شماست.
🛠️ مشکل سرور خود را به ما بسپارید
اگر در هر یک از مراحل بالا به مشکل خوردید یا نیاز به کانفیگ تخصصی سرور دارید، همین حالا درخواست خود را ثبت کنید. کارشناسان ما در ایرانیکاسرور سریعاً بررسی و راهحل ارائه میدهند.
تماس با پشتیبانی: 91302467-021 | ایرانیکاسرور
💬 دیدگاهها 0
هنوز دیدگاهی ثبت نشده است. اولین نفری باشید که نظر میدهید!
✍️ دیدگاه خود را بنویسید