راه اندازی پروژه پایتون در هاست
در این مقاله نحوه راه اندازی پروژه پایتون در هاست رو خدمت شما ارائه می کنیم.
با مشاهده این آموزش به راحتی می توانید پروژه های پایتونی خود را در هاست پایتون راه اندازی یا deploy کنید.
آموزش تصویری:
در ابتدا فایل های پروژه را فشرده می کنیم تا بتوانیم در هاست آپلود کنیم.
دقت کنید حتما باید با پسورد zip فایل را فشرده کنید و سپس در هاست آپلود کنید.
سپس وارد سی پنل می شویم.
وارد شدن به سی پنل از دو طریق امکان پذیر است:
1- اگر دامنه به هاست متصل باشد نام دامنه با پورت 2082 را می زنیم و در صفحه سی پنل که باز می شود نام کاربری و پسورد هاست را می نویسیم بهتر است از copy و paste استفاده نمایید.
البته با ای پی که در مشخصات سرویس برای شما ایمیل شده هم می توانید با همین پورت صفحه سی پنل را مشاهده کنید.
2- به ناحیه کاربری خود در سایت ما وارد شوید سپس از قسمت services یا مدیریت سرویس ها, هاست خود را انتخاب کنید.
در صفحه ای که باز می شود ورود به سی پنل را بزنید.
بعد از ورود به سی پنل از قسمت software گزینه setup python app را انتخاب می کنیم.
در صفحه ای که باز می شود روی گزینه create application کلیک می کنیم.
در صفحه بعدی ورژن پایتون به همراه نام دامنه ای که می خواهیم پروژه را روی آن ران کنیم را انتخاب می کنیم.
در قسمت application root هم نام پروژه را به دلخواه وارد می کنیم.
دقت کنید نیاز نیست در application startup file و application entry point چیزی وارد کنید بعد از زدن create این بخش ها به صورت اتوماتیک توسط سیستم پر می شود.
بعد از راه اندازی پروژه با دو گزینه رو به رو می شویم stop app و restart
حتما باید هر بار با تغییری که در پروژه ایجاد کردید restart را بزنید تا تغییرات در پروژه اعمال شود.
برای آپلود فایل های پروژه در هاست وارد صفحه اول سی پنل می شویم و file manager را انتخاب می کنیم.
در صفحه ای که باز می شود می توانید نام پروژه ای که به دلخواه وارد کردید را مشاهده کنید. وارد این پوشه می شویم و محتویات پروژه خود را در همین مسیر آپلود می کنیم.
سپس فایل آپلود شده را extract می کنیم تا از حالت فشرده خارج شود.
در مرحله بعدی باید کتابخانه های مورد نیاز خود را نصب کنیم. برای این کار می توانیم از دو طریق اقدام کنیم.
1- با استفاده از برنامه putty به ssh متصل شویم و این موارد را انجام دهیم که نیاز است حتما پورت سرور را از شرکت میزبان خود بپرسید چون ممکن است از پورت 22 استفاده نکنند و تغییر داده باشند.
برای اتصال از پاتی می توانید از آموزش زیر استفاده کنید:
نحوه اتصال به putty
2- یا از خود سی پنل وارد محیط ترمینال شوید که راه بسیار ساده تری است و همان ویژگی های اتصال به putty را بدون کم و کاست دارد.
از قسمت advanced گزینه terminal را انتخاب می کنیم.
در صفحه ای که باز می شود برای اینکه دستورات پایتون برای ما فعال شود نیاز است دستور virtual environment را کپی کنیم.
اگر این دستور را کپی نکنید و در محیط ترمینال paste نکنید عملا نمی شود پروژه را راه اندازی کرد چون دستورات پایتون فعال نمی شود.
بعد از paste کردن این دستور در محیط ترمینال شروع به نصب کتابخانه می کنیم.
برای این کار دستور pip install -r requirements.txt را وارد می کنیم و اینتر را می زنیم تا کتابخانه ها نصب شوند.
البته توجه داشته باشید این موارد در صورتی است که فایل requirements را داشته باشید در غیر این صورت باید کتابخانه ها را دستی با دستور pip install نام کتابخانه نصب کنید.
بعد از نصب کتابخانه های برای اجرای پروژه نیاز است فایل passanjer_wsgi.py را ویرایش کنیم.
برای این کار وارد پوشه پروژه می شویم این فایل را انتخاب می کنیم و بر روی edit کلیک می کنیم و تمام کد های داخل آن را پاک می کنیم و با توجه به نام پروژه خود زیر را وارد می کنیم.
from mysite.wsgi import application
بعد این مورد باید پروژه خود را طبق گفته های قبلی در این آموزش ریستارت کنیم.
بعد ریستارت کردن دامنه را در مرورگر باز می کنیم.
این خطا به ما می گوید باید دامنه را در فایل تنظیمات پروژه وارد کنیم.
مجدد از قسمت file manger وارد پوشه پروژه می شویم و پوشه اصلی پروژه را باز می کنیم که برای ما mysite است سپس فایل settings را ادیت می کنیم و نام دامنه را اضافه می کنیم.
حتما مطابق شکل زیر وارد کنید.
بعد اضافه کردن دامنه اگر پروژه را restart نکنید باز هم با همان خطا رو به رو خواهید شد حتما باید پروژه را ریستارت کنید.
بعد طی کردن این مراحل دامنه را مجدد در مرورگر وارد می کنیم و این بار مشاهده می کنیم که پروژ جنگو ما به درستی ران شده است.
در اینجا باید چند نکته را ذکر کنیم:
اگر پروژه شما به هر دلیلی ران شد از داخل پوشه پروژه می توانید stderr.log را می زنید و می توانید خطا ها را مشاهده کنید.
راه دوم هم این است وارد محیط ترمینال شوید مجدد و دستور virtul envirenment را کپی کنید و وارد کنید.
سپس دستور python passenger_wsgi.py را بزنید تا خطا های احتمالی را به شما نمایش دهد.
موفق باشید
سلام
من میخوام که یه پروژه جنگو رو از طریق ریموت به سرور لینوکسی اپ کنم میشه کمک کنید این کار رو انجام بدم؟!
سلام
انجام اینکار نیاز به کارهای زیادی دارد البته آموزش ها زیاد هست توی اینترنت عبارت زیر را سرچ کنید به نتیجه میرسید
how to deploy django on centos
سلام خسته نباشید ببخشید من یک پروژه جنگو سایت اموزشگاهی انلاین دارم و همونجور ک میدونید فضای زیادی میخواد چون ویدیو قرار میگیره تو سایت و این قضایا میحواستم بدونم این مشکل چطو حل میشه مثلا باید هاست دانلود گزفت؟ و چطور. ارتباطش رو با پنل ادمین برقرار کرد در خود سایت ک اپلود کنی بره تو هاست و لینک بده ؟
سلام
شما باید با جنگو به صورت ftp به هاست دانلود متصل شوید و هرچیزی که اپلود می شود روی هاست دانلود قرار بدید اینطوری هم منطقی تر هست و هم توی هزینه برای شما به صرفه خواهد بود
سلام میخوام بدونم میشه با این هاست ربات دیسکورد که با discord.py نوشته شده رو هاست کرد؟ (پروژه جنگو نیست و فقط یک فایل اسکریپت پایتون هست)
سلام
متاسفانه این هاست با ربات سازگار نیست و فقط می توانید سایت راه اندازی کنید با فریم ورک جنگو و فلاسک
سلام ببخشید میشه فایل های این پروژه که در آموزش استفاده کردید رو بزارید دانلود کنیم؟
با سلام
زمانی که شما پروژه جدیدی در جنگو میسازید ، این پروژه ساخته میشود
سلام خسته نباشید
بنده یه پروژه جنگو آپلود کردم روی سایت و تمامی استپ ها رو هم درست رفتم ولی الان ارور 503 در یافت میکنم.
ممنون میشم راهنماییم کنید که چه کاری باید انجام بدم.
لازم به ذکره که ورژن پایتون بنده 3.10.1 هستش ولی آخرین ورژنی که میتونستم برای پروژم روی هاست انتخاب کنم 3.9.7 هست.
با سلام و احترام
لطفا برای بخش پشتیبانی تیکت بزنید
سلام
وقت بخیر
ببخشید بعداز انجام این مراحل و خروج از ترمینال، پروژه جنگو متوقف میشه؟
در واقع میخوام ببینم این روش برای پروژه های production مناسب هست یا فقط مخصوص development هست؟
با سلام و احترام
پروژه متوقف نمی شود
دیباگ را نیز حتما غیر فعال کنید
با سلام، خیلی ممنون از آموزش عالی تون
فقط اینکه وقتی این مراحل رو انجام دادیم بعد داخل ورد پرس چه طور برنامه پایتون رو به داخل سابتمون اضافه کنیم؟
سلام برای دریافت راهنمایی مورد نظر لطفا تیکت ثبت بفرمایدد
سلام من می خواهم یک پروژه رو انجام بدم که قرار همیشه 150 تا کراول رو اجرا کنه و از سایت هایی که من بهش دادم بره و داده ها رو بگیره و روش پردازش کنه
آیا با همین روش می شع و یا باید روی سرور انجام بشع