بهبود استقرار هروکو

اکنون فرآیند استقرار را با ساختن یک ابرکاربر بهبود می‌بخشیم، درست همانند آن چه به صورت محلّی کردیم. همچنین پروژه را با تغییر تنظیم DEBUG به False امن‌تر می‌کنیم تا کاربران در پیام‌های خطا هیچ اطّلاعات اضافی‌تری که با آن‌ها در حمله به سرور کمک می‌کند، مشاهده نکنند.

ساختن یک ابرکاربر در هروکو

شما قبلاً دیده‌اید که می‌توانیم دستورهای یک‌طرفه را به کمک فرمان heroku run اجرا کنیم. امّا علاوه بر این شما می‌توانید هنگامی که با دستور heroku run bash به سرور هروکو متّصل شده‌اید، دستورها را با باز کردن یک نشست ترمینال Bash اجرا کنید. بَش یک زبان است که در بسیاری از ترمینال‌های لینوکسی اجرا می‌شود. ما از نشست ترمینال بَش برای ساختن یک ابرکاربر استفاده می‌کنیم تا بتوانیم روی برنامه‌ی در حال کار به سایت مدیر دسترسی داشته باشیم:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
(ll_env)learning_log$ heroku run bash
Running 'bash' on secret-lowlands-82594... up, run.9858

~ $ ls
learning_log learning_logs manage.py Procfile requirements.txt runtime.txt
staticfiles users

~ $ python manage.py createsuperuser
Username (leave blank to use 'u47318'): ll_admin
Email address:
Password:
Password (again):
Superuser created successfully.

~ $ exit
exit

(ll_env)learning_log$

در ۱ ls را اجرا می‌کنیم تا ببینیم چه فایل‌ها و پوشه‌هایی روی سرور وجود دارد که این موارد باید مشابه آن‌هایی باشند که در سیستم محلّی داریم. شما می‌توانید مانند هر سیستم فایلی دیگر در این فایل‌ها و پوشه‌ها بگردید.

نکته
کاربران ویندوز هم از همین دستورهای بالا استفاده خواهند کرد (مانند ls به جای dir) زیرا شما از طریق یک ارتباط از راه دور در حال اجرای یک ترمینال لینوکسی هستید.

در ۲ فرمان ساختن ابرکاربر را اجرا می‌کنیم که خروجی آن مشابه با خروجی‌ای است که در سیستم محلّی خود هنگام ساختن ابرکاربر در فصل ۱۸ دیدیم. زمانی که کار ساختن ابرکاربر در این ترمینال به پایان رسید فرمان exit را اجرا کنید تا به نشست ترمینال سیستم محلّی خود برگردید.

حال می‌توانید /admin/ را به انتهای آدرس برنامه‌ی در حال کار اضافه کنید و به سایت مدیر وارد شوید. برای من آدرس https://secret-lowlands-82594.herokuapp.com/admin/ است.

اگر دیگران استفاده از پروژه‌ی شما را آغاز کرده‌اند، دقّت کنید که به تمام اطّلاعات آن‌ها دسترسی دارید! این را ساده نگیرید تا کاربران همچنان به شما اعتماد کنند.

ساختن یک آدرس کاربرپسند در هروکو

به احتمال فراوان شما دوست دارید که آدرس پروژه دوستانه‌تر و به‌یادماندنی‌تر از https://secret-lowlands-82594.herokuapp.com باشد. می‌توانید نام برنامه را با یک دستور عوض کنید:

1
2
3
4
5
6
7
(ll_env)learning_log$ heroku apps:rename learning-log
Renaming secret-lowlands-82594 to learning-log-2e... done
https://learning-log.herokuapp.com/ | https://git.heroku.com/learning-log.git
Git remote heroku updated
Don't forget to update git remotes for all other local checkouts of the app.

(ll_env)learning_log$

برای نام‌گذاری برنامه‌ی خود می‌توانید از حرف‌ها، اعداد و خط‌های فاصله استفاده کنید و آن را هر چه که بخواهید بنامید مگر این که کسی قبلاً آن نام را گرفته باشد. این استقرار اکنون بر https://learning-log.herokuapp.com در حال اجراست. این پروژه دیگر از آدرس قبلی در دسترس نخواهد بود؛ دستور apps:rename پروژه را کاملاً به URL جدید منتقل می‌کند.

نکته
زمانی که با استفاده از سرویس رایگان هروکو پروژه‌ی خود را استقرار می‌بخشید، اگر پس از مدّت زمان مشخّصی هیچ درخواستی دریافت نشود یا اگر پروژه بیش از حد فعّال باشد، هروکو پروژه‌ی شما را به حالت نیمه‌فعّال درمی‌آورد. اوّلین باری که کاربری پس از به خواب رفتن پروژه به آن دسترسی پیدا می‌کند، بارگذاری کمی بیشتر طول می‌کشد امّا سرور به درخواست‌های بعدی سریع‌تر پاسخ خواهد داد. این روشی است که هروکو می‌تواند برای ارائه‌ی استقرارهای رایگان بپذیرد.