Skip to content

Latest commit

 

History

History
202 lines (147 loc) · 5.03 KB

File metadata and controls

202 lines (147 loc) · 5.03 KB

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

اسکریپت‌های تست

1. تست سلامت سایت (test_site.ps1)

این اسکریپت تمام سرویس‌ها را بررسی می‌کند:

.\test_site.ps1

یا از فایل batch:

test_site.bat

تست‌های انجام شده:

  1. بررسی پورت 80 - آیا سایت در دسترس است؟
  2. بررسی Backend (پورت 8000) - آیا API در دسترس است؟
  3. بررسی Backend via Proxy - آیا API از طریق Nginx در دسترس است؟
  4. بررسی Redis - آیا Redis در حال اجرا است؟
  5. بررسی Frontend Build - آیا فایل‌های build شده وجود دارند؟
  6. بررسی Nginx Process - آیا Nginx در حال اجرا است؟
  7. بررسی Django Process - آیا Backend در حال اجرا است؟
  8. بررسی Celery Processes - آیا Celery در حال اجرا است؟

استفاده

مرحله 1: راه‌اندازی سایت

.\start.ps1

یا:

start.bat

مرحله 2: تست سایت

بعد از راه‌اندازی، اسکریپت تست را اجرا کنید:

.\test_site.ps1

مشکلات رایج و راه‌حل‌ها

مشکل 1: پورت 80 اشغال است

علائم:

  • خطا: Port 80 is already in use
  • تست: Port 80 is not open

راه‌حل:

# بررسی چه پروسسی از پورت 80 استفاده می‌کند
netstat -ano | findstr :80

# متوقف کردن IIS
iisreset /stop

# یا متوقف کردن سرویس خاص
taskkill /PID <PID> /F

مشکل 2: Frontend Build نشده

علائم:

  • خطا: Frontend dist folder not found
  • تست: Frontend build exists = ✗

راه‌حل:

cd frontend
npm run build
cd ..

مشکل 3: Backend اجرا نمی‌شود

علائم:

  • خطا: Backend port 8000 is not open
  • تست: Django process not found

راه‌حل:

cd backend
python manage.py runserver 127.0.0.1:8000

مشکل 4: Redis اجرا نمی‌شود

علائم:

  • خطا: Redis is not running
  • تست: Redis (Port 6379) = ✗

راه‌حل:

# با Docker
docker start redis

# یا ایجاد container جدید
docker run -d --name redis -p 6379:6379 redis:7-alpine

مشکل 5: Nginx اجرا نمی‌شود

علائم:

  • خطا: Nginx process not found
  • تست: Nginx Process = ✗

راه‌حل:

# بررسی مسیر Nginx
C:\nginx\nginx.exe

# اجرای دستی
cd C:\nginx
.\nginx.exe

# بررسی خطاها
.\nginx.exe -t

چک‌لیست راه‌اندازی

قبل از اجرای start.ps1، این موارد را بررسی کنید:

  • IIS متوقف است (iisreset /stop)
  • پورت 80 آزاد است
  • Node.js نصب است (node --version)
  • Python نصب است (python --version)
  • Frontend build شده است (frontend\dist وجود دارد)
  • Redis در حال اجرا است (اختیاری اما توصیه می‌شود)

دسترسی به سایت

بعد از راه‌اندازی موفق، سایت در آدرس‌های زیر در دسترس است:

لاگ‌ها و دیباگ

بررسی لاگ Backend:

# در پنجره Backend که باز می‌شود
# یا در فایل:
backend\logs\

بررسی لاگ Frontend:

# در پنجره Frontend که باز می‌شود
# یا در Developer Tools مرورگر (F12)

بررسی لاگ Nginx:

C:\nginx\logs\error.log
C:\nginx\logs\access.log

تست دستی

تست 1: دسترسی به Frontend

Invoke-WebRequest -Uri "http://localhost" -UseBasicParsing

تست 2: دسترسی به Backend API

Invoke-WebRequest -Uri "http://localhost:8000/api/auth/check/" -UseBasicParsing

تست 3: دسترسی به API via Proxy

Invoke-WebRequest -Uri "http://localhost/api/auth/check/" -UseBasicParsing

نکات مهم

  1. اول Backend را راه‌اندازی کنید - Frontend به Backend نیاز دارد
  2. صبر کنید - بعد از اجرای start.ps1، 10-15 ثانیه صبر کنید
  3. تست کنید - همیشه بعد از راه‌اندازی، test_site.ps1 را اجرا کنید
  4. پورت 80 - اگر پورت 80 اشغال است، سایت باز نمی‌شود
  5. Build Frontend - اگر Frontend build نشده، سایت کار نمی‌کند

پشتیبانی

اگر مشکل حل نشد:

  1. اسکریپت تست را اجرا کنید: .\test_site.ps1
  2. خروجی را بررسی کنید
  3. لاگ‌ها را چک کنید
  4. مطمئن شوید همه پیش‌نیازها نصب هستند