این اسکریپت تمام سرویسها را بررسی میکند:
.\test_site.ps1یا از فایل batch:
test_site.bat- ✅ بررسی پورت 80 - آیا سایت در دسترس است؟
- ✅ بررسی Backend (پورت 8000) - آیا API در دسترس است؟
- ✅ بررسی Backend via Proxy - آیا API از طریق Nginx در دسترس است؟
- ✅ بررسی Redis - آیا Redis در حال اجرا است؟
- ✅ بررسی Frontend Build - آیا فایلهای build شده وجود دارند؟
- ✅ بررسی Nginx Process - آیا Nginx در حال اجرا است؟
- ✅ بررسی Django Process - آیا Backend در حال اجرا است؟
- ✅ بررسی Celery Processes - آیا Celery در حال اجرا است؟
.\start.ps1یا:
start.batبعد از راهاندازی، اسکریپت تست را اجرا کنید:
.\test_site.ps1علائم:
- خطا:
Port 80 is already in use - تست:
Port 80 is not open
راهحل:
# بررسی چه پروسسی از پورت 80 استفاده میکند
netstat -ano | findstr :80
# متوقف کردن IIS
iisreset /stop
# یا متوقف کردن سرویس خاص
taskkill /PID <PID> /Fعلائم:
- خطا:
Frontend dist folder not found - تست:
Frontend build exists= ✗
راهحل:
cd frontend
npm run build
cd ..علائم:
- خطا:
Backend port 8000 is not open - تست:
Django process not found
راهحل:
cd backend
python manage.py runserver 127.0.0.1:8000علائم:
- خطا:
Redis is not running - تست:
Redis (Port 6379)= ✗
راهحل:
# با Docker
docker start redis
# یا ایجاد container جدید
docker run -d --name redis -p 6379:6379 redis:7-alpineعلائم:
- خطا:
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 در حال اجرا است (اختیاری اما توصیه میشود)
بعد از راهاندازی موفق، سایت در آدرسهای زیر در دسترس است:
- 🌐 Local: http://localhost
- 🌐 Internet: http://191.101.113.163
- 🌐 Domain: http://myaibaz.ir (via Cloudflare)
# در پنجره Backend که باز میشود
# یا در فایل:
backend\logs\# در پنجره Frontend که باز میشود
# یا در Developer Tools مرورگر (F12)C:\nginx\logs\error.log
C:\nginx\logs\access.logInvoke-WebRequest -Uri "http://localhost" -UseBasicParsingInvoke-WebRequest -Uri "http://localhost:8000/api/auth/check/" -UseBasicParsingInvoke-WebRequest -Uri "http://localhost/api/auth/check/" -UseBasicParsing- اول Backend را راهاندازی کنید - Frontend به Backend نیاز دارد
- صبر کنید - بعد از اجرای
start.ps1، 10-15 ثانیه صبر کنید - تست کنید - همیشه بعد از راهاندازی،
test_site.ps1را اجرا کنید - پورت 80 - اگر پورت 80 اشغال است، سایت باز نمیشود
- Build Frontend - اگر Frontend build نشده، سایت کار نمیکند
اگر مشکل حل نشد:
- اسکریپت تست را اجرا کنید:
.\test_site.ps1 - خروجی را بررسی کنید
- لاگها را چک کنید
- مطمئن شوید همه پیشنیازها نصب هستند