در این مقاله من به شما نشان خواهم داد که چگونه جنگو را در تولید قرار دهید. ما از تونل های nginx، gunicorn و cloudflare استفاده خواهیم کرد.
من اخیراً برنامه جنگو خودم را برای تولید پیاده کردم. این وب سایت videiro.com نام دارد و در django + HTML/CSS/JS + Tailwind توسعه یافته است.
راه اندازی
من از یک سرور دبیان 12 استفاده می کنم که برنامه من را از طریق تونل های cloudflare نمایش می دهد. تمام فایلهای استاتیک از طریق nginx ارائه میشوند و پروژه جنگو توسط گانیکورن اجرا میشود.
در این راهنما به شما نشان خواهم داد که چگونه این را تنظیم کردم.
آماده سازی پروژه جنگو
اولین کاری که باید انجام دهید این است که settings.py را باز کرده و موارد زیر را تغییر دهید
Debug = False
ALLOWED_HOSTS = ['yourdomain.tld']
CSRF_COOKIE_SECURE = True
CSRF_TRUSTED_ORIGINS = [
'yourdomain.tld',
]
شما همچنین باید تغییر دهید SECRET_KEY
به یک رشته تصادفی طولانی، که هرگز نباید آن را با کسی به اشتراک بگذارید.
پس از آن یک فایل جدید به نام ایجاد کنید .gitignore
و موارد زیر را بچسبانید:
db.sqlite3
*.pyc
این اطمینان حاصل می کند که پایگاه داده در سرور ما آپلود نمی شود و هیچ فایل pyc نیز وجود ندارد.
اکنون می توانید پروژه خود را در یک مخزن جدید github (یا مخزن gitea) آپلود کنید. اگر نمی خواهید همه به کد منبع شما دسترسی داشته باشند، مطمئن شوید که مخزن را به عنوان خصوصی تنظیم کنید.
اگر می خواهید مطمئن شوید که کد منبع شما باقی می ماند …