diff --git a/es/SUMMARY.md b/es/SUMMARY.md index 71f9174..8f33d64 100644 --- a/es/SUMMARY.md +++ b/es/SUMMARY.md @@ -6,7 +6,6 @@ * [Tarea: Crea un modelo de comentarios](homework_create_more_models/README.md) * [Opcional: Instalación de PostgreSQL](optional_postgresql_installation/README.md) * [Opcional: Dominio](domain/README.md) -* [Despliega tu sitio en Heroku](heroku/README.md) diff --git a/es/heroku/README.md b/es/heroku/README.md deleted file mode 100644 index 14ccb55..0000000 --- a/es/heroku/README.md +++ /dev/null @@ -1,243 +0,0 @@ -# Despliega tu sitio en Heroku (También como PythonAnywhere) - -Siempre es bueno como un desarrollador tiene un par de diferentes opciones de despliegue bajo su cinturón. ¿Por qué no tratar de desplegar tu sitio en Heroku, también como PythonAnywhere? - -[Heroku](http://heroku.com/) es también gratis para pequeñas aplicaciones que no tienen muchas visitas, pero es un poco mas complicado desplegar. - -Te guiaremos por el siguiente tutorial: https://devcenter.heroku.com/articles/getting-started-with-django, pero pegamos aquí para hacerlo mas fácil para ti. - -## El archivo `requirements.txt` - -Si no lo creaste antes, necesitamos crear un archivo `requirements.txt` para decirle a Heroku que paquetes de Python necesitamos que sean instalados en nuestro servidor. - -Pero primero, Heroku necesita que instalemos algunos paquetes. Ve a tu consola con tu `virtualenv` activado y escribe: - -``` - (myvenv) $ pip install dj-database-url gunicorn whitenoise -``` - -Después que la instalación está finalizada, ve a la carpeta `djangogirls` y ejecuta este comando: - -``` - (myvenv) $ pip freeze > requirements.txt -``` - -Esto creará un archivo llamado `requirements.txt` con una lista de paquetes instalados. (Librerías Python que estás usando, por ejemplo Django :) - ->__Nota__: `pip freeze` imprime la lista de todas las librerías instaladas en tu ambiente virtual, y el `>` toma la salida de `pip freeze` y la coloca en un archivo. ¡Trata ejecutar `pip freeze` sin el `< requirements.txt` para ver lo que pasa! - -Abre este archivo y añada esto al final: - -``` - psycopg2==2.6.2 -``` - -Esta línea se necesita para que tu aplicación funcione en Heroku. - - -## Procfile - -Otra cosa que Heroku necesita es un `Procfile`. Esto le dice a Heroku que comandos ejecutar para iniciar nuestro sitio web. Ve a tu editor de código y crea un archivo llamado `Procfile` en la carpeta `djangogirls` y agrega esta línea: - -``` - web: gunicorn mysite.wsgi --log-file - -``` - -Esta línea significa que vas a desplegar una aplicación `web` y lo vas a hacer ejecutando el comando `gunicorn mysite.wsgi` (`gunicorn` es un programa que es la versión mas poderosa del comando de django `runserver`). - -Entonces guardalo. ¡Listo! - -## El archivo `runtime.txt` - -También necesitamos decirle a Heroku que versión de Python vamos a usar. Esto es hecho creando un archivo `runtime.txt` en la carpeta `djangogirls` usando tu editor de texto y colocando el siguiente texto (y nada mas) dentro: - -``` - python-3.5.2 -``` - - -## `mysite/local_settings.py` - -Porque es mas restrictivo que PythonAnywhere, Heroku quiere usar diferentes configuraciones de las que nosotros usamos localmente (en nuestro computador). Heroku quiere que usar Postgres mientras que nosotros usamos SQLite, por ejemplo. Por eso necesitamos crear un archivo separado para las configuraciones que estarán disponibles en nuestro ambiente local. - -Ve adelante y crea un archivo `mysite/local_settings.py`. Este debe contener tu configuración de `DATABASE` de tu archivo `mysite/settings.py`. Justo como esto: - -```python -import os -BASE_DIR = os.path.dirname(os.path.dirname(__file__)) - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), - } -} - -DEBUG = True -``` - -¡Luego guardalo! :) - -## mysite/settings.py - -Otra cosa que debemos hacer es modificar nuestro archivo de sitio web `settings.py`. Abre `mysite/settings.py` en tu editor y cambia las siguientes líneas: - -```python -import dj_database_url - -... - -DEBUG = False - -ALLOWED_HOSTS = ['127.0.0.1', '.herokuapp.com'] - -... - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'djangogirls', - 'USER': 'name', - 'PASSWORD': '', - 'HOST': 'localhost', - 'PORT': '', - } -} - -... - -db_from_env = dj_database_url.config(conn_max_age=500) -DATABASES['default'].update(db_from_env) -``` - -Esto hará la configuración necesaria para Heroku. - -Luego guarda el archivo. - -## mysite/wsgi.py - -Abre el archivo `mysite/wsgi.py` y agrega estas líneas al final: - -```python -from whitenoise.django import DjangoWhiteNoise -application = DjangoWhiteNoise(application) -``` - -¡Todo bien! - -## Cuenta Heroku - -Necesitas instalar `Heroku toolbelt` el cual encontrarás aquí (puedes saltarte la instalación si ya lo instalaste durante la configuración): https://toolbelt.heroku.com/ - -> Cuando ejecutas la instalación de Heroku toolbelt en windows asegúrate de escoger "Instalación personalizada" cuando te pregunten que componentes instalar. En la lista de componentes que se muestra luego por favor selecciona "Git y SSH" - -> En windows también debes ejecutar el siguiente comando para agregar Git y SSH a tu `PATH` de la línea de comanods: `setx PATH "%PATH%;C:\Program Files\Git\bin"`. Reinicia la línea de comandos después para habilitar el cambio. - -> ¡Después de reiniciar tu línea de comandos, no olvides ir a tu carpeta `djangogirls` de nuevo y habilitar el ambiente virtual! (Truco: Ve al [capítulo de instalación de Django](http://tutorial.djangogirls.org/en/django_installation/index.html#working-with-virtualenv)) - -Por favor también crea una cuenta gratuita de Heroku aquí: https://id.heroku.com/signup/www-home-top - -Luego autenticate con tu cuenta Heroku en tu computador ejecutando este comando: - -``` - $ heroku login -``` - -En cas que no tengas una llave SSH este comando automáticamente creará una. Las llaves SSH son requeridas para colocar código en Heroku. - -## Git commit - -Heroku usa git para sus propios despliegues. A diferencia de PythonAnywhere, puedes hacer push a Heroku directamente, sin Github. Pero necesitamos hacer un par de cosas antes. - -Abre un archivo llamado `.gitignore` en tu carpeta `djangogirls` y agrega `local_settings.py` a el. Queremos que git ignore `local_settings`, entonces este permanece en nuestro computador local y no termina en Heroku. -Open the file named `.gitignore` in your `djangogirls` directory and add `local_settings.py` - -``` - *.pyc - db.sqlite3 - myvenv - __pycache__ - local_settings.py -``` - -Y guarda los cambios - -``` - $ git status - $ git add -A . - $ git commit -m "additional files and changes for Heroku" -``` - -## Escoge un nombre de aplicación - -Vamos a hacer que tu blog esté disponible en la web en `[tu nombre de blog].herokuapp.com` así vamos a escoger un nombre que nadie mas haya tomado. Este nombre no tiene que estar relacionado con el blog de `Django` o `mysite` o nada de lo que hemos creado hasta ahora. El nombre debe estar en minúscula (sin letras mayúsculas o acentos), nombres y guiones (`-`). - -Una ves tengas un nombre (tal vez algo con tu nombre o nick en el), ejecuta este comando, reemplazaod `djangogirlsblo` con tu propio nombre de aplicación: - -``` - $ heroku create djangogirlsblog -``` - -> __Nota__: Recuerda reemplazar `djangogirlsblog` con el nombre de tu aplicación en Heroku. - -Si no puedes pensar en un nombre, puedes en lugar ejecutar: - -``` - $ heroku create -``` - -Y heroku escogerá un nombre no disponible por ti (posiblemente algo como `enigmatic-cove-2527`). - -Si tu alguna vez sientes que debes cambiar el nombre de tu aplicación Heroku, puedes hacerlo en cualquier momento con est eomando (reemplaza `the-new-game` con el nuevo nombre que quieres usar): - -``` - $ heroku apps:rename the-new-name -``` - -> __Nota__: Recuerda que luego que cambias el nombre de tu aplicación, necesitas visitar `[the-new-name].herokuapp.com` para ver tu sitio - -## ¡Despliega a Heroku! - -Esto fue mucho de configuración e instalación, ¿cierto? ¡Pero esto solo lo necesitas hacer una vez! ¡Ahora puedes desplegar! - -Cuando tu ejecutas `heroku create`, el automáticamente agregará un `remote` de Heroku a nuestro repositorio de aplicaciones. Ahora simplemente necesitamos hacer push a Heroku para desplegar nuestra aplicación: - -``` - $ git push heroku master -``` - -> __Nota__: Esto posiblemente produzca *un montón* de salida si es la primera vez que lo ejecutas, como Heroku compila e instala psycopg. Verás que tu comando funcionó si ves algo como `https://yourapplicationname.herokuapp.com/ deployed to Heroku` cerca al final de output. - -## Visita tu aplicación - -Tu has desplegado tu código a Heroku, y especificado los tipos de proceso en un archivo `Procfile` (nosotros escogimos un proceso `web` anteriormente). Ahora puedes decirle a Heroku que inicie este proceso `web` - -Para hacerlo, ejecuta el siguiente comando: - -``` - $ heroku ps:scale web=1 -``` - -Esto le dice a Heroku que ejecute solamente una instancia de nuestro proceso `web`. Desde que nuestra aplicación es muy simple, nosotros no necesitamos mucho poder, y por eso está bien un solo proceso. Es posible solicitar a Heroku que ejecute mas procesos (por cierto, Heroku llama a estos procesos "Dynos" así que no te sorprendas si ves estos términos) pero ya no serán gratis. - -Puedes visitar la app en tu navegador ejecutando `heroku open`. - -``` - $ heroku open -``` - -> __Nota__: ¡verás una página de error! Hablaremos de eso en un minuto. - -Esto abrirá una url como [https://djangogirlsblog.herokuapp.com/]() en tu navegador, y por el momento, posiblemente veas una página de error. - -El error que ves es porque cuando desplegamos a Heroku, creamos una nueva base de datos y está vacía. Necesitamos ejecutar los comandos `migrate` y `createsuperuser`, justo como hicimos en PythonAnywhere. Esta vez, ellos vienen en una versión especial en nuestro computador, `heroku run`: - -``` - $ heroku run python manage.py migrate - - $ heroku run python manage.py createsuperuser -``` - -Este comando te preguntará que escojas un nombre de usuario y contraseña de nuevo. Estas serán tus credenciales de acceso a la página de administración de tu sitio. - -¡Refresca en tu navegador y ahí estás! Ahora sabes como desplegar a dos diferentes plataformas de hosting. Escoge tu favorita :) diff --git a/fa/SUMMARY.md b/fa/SUMMARY.md index 795b8a0..be51c02 100644 --- a/fa/SUMMARY.md +++ b/fa/SUMMARY.md @@ -6,7 +6,6 @@ * [کار در خانه: ساختن مدل کامنت‌ها](homework_create_more_models/README.md) * [فعالیت اختیاری: PostgreSQL نصب](optional_postgresql_installation/README.md) * [فعالیت اختیاری: دامین](domain/README.md) -* [انتشار وب‌سایت بر روی Heroku](heroku/README.md) diff --git a/fa/heroku/README.md b/fa/heroku/README.md deleted file mode 100644 index ae54ca7..0000000 --- a/fa/heroku/README.md +++ /dev/null @@ -1,212 +0,0 @@ -# انتشار وب‌سایت بر روی Heroku (همانند انتشار بر روی PythonAnywhere) - -همیشه برای یک توسعه دهنده خوب است که گزینه‌های انتشار مختلفی در آستین داشته باشد. چرا انتشار وب‌سایت بر روی Heroku را امتحان نکنیم، همانطور که روی PythonAnywhere منتشر کردیم؟ - -[هروکو](http://heroku.com/) هم برای اپلیکیشن‌های کوچک که بازدیدکننده زیادی ندارند، رایگان است، اما انتشار وب‌سایت بر روی آن کمی ریزه‌کاری دارد. - - -ما از این آموزش استفاده خواهیم کرد: https://devcenter.heroku.com/articles/getting-started-with-django. اما آن را اینجا گذاشته‌ایم که استفاده از آن برای شما ساده‌تر باشد. - -## فایل `requirements.txt` - -اگر قبلاً این فایل را نساخته‌اید الان باید یک فایل `requirements.txt` بسازید تا به هروکو بگویید که کدام پکیج‌های پایتون باید بر روی سرور نصب شود. - -اما در ابتدا هروکو نیاز دارد که ما چند پکیج نصب کنیم. به کنسول خط فرمان بروید و درحالی `virtualenv` فعال است خط زیر را تایپ کنید: - - (myvenv) $ pip install dj-database-url gunicorn whitenoise - -وقتی که پکیج‌ها نصب شد به پوشه `djangogirls` بروید و دستور زیر را اجرا کنید: - - (myvenv) $ pip freeze > requirements.txt - -این دستور فایلی به نام `requirements.txt` می‌سازد که لیستی از پکیج‌های نصب شده (کتابخانه‌های پایتونی که شما استفاده می‌کنید، مثلاً جنگو :)) در آن قرار دارد. - -> __نکته:__ دستور `pip freeze` لیستی از تمام پکیج‌های نصب شده در محیط مجازی شما را نشان می‌دهد و علامت `>`، این خروجی را به یک فایل انتقال می‌دهد. سعی کنید از دستور `pip freeze` بدون عبارت `> requirements.txt`، استفاده کنید و ببینید چه اتفاقی می‌افتد! - -این فایل را باز کنید و خط زیر را به انتهای آن اضافه کنید: - - psycopg2==2.7.2 - -برای آنکه اپلیکیشن شما در هروکو کار کند، این خط مورد نیاز است. - -## Procfile - -چیز دیگری که هروکو لازم دارد یک Procfile است. این فایل به هروکو می‌گوید که کدام دستورها به ترتیب اجرا شوند تا وب‌سایت ما شروع به کار کند. ویرایشگر کد خود را باز کنید و فایلی با نام `Procfile` در پوشه `djangogirls` بسازید و خط زیر را به آن اضافه کنید: - - web: gunicorn mysite.wsgi --log-file - - -این خط نشان می‌دهد که ما قصد داریم یک وب اپلیکیشن راه‌اندازی کنیم و این کار را با اجرای دستور `gunicorn mysite.wsgi` (`gunicorn` نرم‌افزاری است که شبیه به دستور `runserver` در جنگو عمل می کند اما بسیار قوی‌تر از آن است) انجام می‌دهیم. - -حالا این فایل را ذخیره کنید، تمام! - -## فایل `runtime.txt` - -ما نیاز داریم که به هروکو اعلام کنیم که از کدام نسخه پایتون می‌خواهیم استفاده کنیم. این کار به کمک فایلی به نام `runtime.txt` در پوشه `djangogirls` انجام می‌شود. به کمک ویرایشگر خود یک فایل جدید به این نام بسازید و فقط متن زیر (و نه چیز دیگری) را در آن وارد کنید: - - python-3.6.4 - -## `mysite/local_settings.py` - -به خاطر اینکه هروکو محدودیت‌های بیشتری نسبت به PythonAnywhere دارد، نیاز است که از تنظیماتی متفاوت از کامپیوتر شخصی خود برای راه‌اندازی آن استفاده کنیم. هروکو نیاز دارد تا از Postgres استفاده کند درحالی که ما از SQLite استفاده کرده بودیم. به خاطر همین نیاز است تا ما از فایل تنظیمات متفاوتی نسبت به فایل مورد استفاده در محیط لوکال خود، استفاده کنیم. - -حالا یک فایل به نام `mysite/local_settings.py` بسازید. این فایل باید شامل تنظیمات مربوط به `DATABASE` شما که در فایل `mysite/settings.py` قرار داده بودید باشد. چیزی شبیه به این: - -```python -import os -BASE_DIR = os.path.dirname(os.path.dirname(__file__)) - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), - } -} - -DEBUG = True -``` - -حالا آن را ذخیره کنید! :) - -## mysite/settings.py - -کار دیگری که باید انجام دهیم اصلاح فایل `settings.py` است. فایل `mysite/settings.py` را در ویرایشگر خود باز کنید و خط‌های زیر را اصلاح کنید: - -```python -import dj_database_url - -... - -DEBUG = False - -ALLOWED_HOSTS = ['127.0.0.1', '.herokuapp.com'] - -... - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'djangogirls', - 'USER': 'name', - 'PASSWORD': '', - 'HOST': 'localhost', - 'PORT': '', - } -} - -... - -db_from_env = dj_database_url.config(conn_max_age=500) -DATABASES['default'].update(db_from_env) -``` - -این کار تنظیمات مورد نیاز برای هروکو را انجام می‌دهد! - -حالا این فایل را ذخیره کنید. - -## mysite/wsgi.py - -فایل `mysite/wsgi.py` را باز کنید و این خط‌ها را به آن اضافه کنید: - -```python -from whitenoise.django import DjangoWhiteNoise -application = DjangoWhiteNoise(application) -``` - -بسیار عالی! - -## اکانت هروکو - -لازم است که جعبه ابزار هروکو را از آدرس https://toolbelt.heroku.com/ نصب کنید (اگر این کار را در مراحل راه‌اندازی انجام داده‌اید می‌توانید از این بخش رد شوید): - -> وقتی جعبه ابزار هروکو را بر روی ویندوز نصب می‌کنید مطمئن شوید که هنگامی که سو‌‌ٔال می‌کند چه کامپوننت‌هایی نصب شود، گزینه "Custom Installation" را انتخاب کنید. در لیست کامپوننت‌هایی که بعد از این نمایش داده می‌شود، گزینه "Git and SSH"را هم انتخاب کنید. - -> در ویندوز، شما باید دستور `setx PATH "%PATH%;C:\Program Files\Git\bin"` را نیز اجرا کنید تا Git و SSH به `PATH` خط فرمان شما اضافه شود. خط فرمان را ببندید و دوباره باز کنید تا تغییرات ایجاد شده، فعال شود. - -> بعد از باز کردن خط فرمان فراموش نکنید که دوباره به پوشه `djangogirls` بروید و محیط مجازی پروژه را فعال کنید! (راهنمایی: [بخش نصب و راه اندازی جنگو را دوباره مرور کنید](http://tutorial.djangogirls.org/en/django_installation/index.html#working-with-virtualenv)) - -در ضمن یک اکانت رایگان هروکو نیز در آدرس https://id.heroku.com/signup/www-home-top بسازید. - -حالا با اجرای این دستور بر روی کامپیوتر خود، وارد اکانت هروکو شوید: - - $ heroku login - -اگر کلید SSH نداشته باشید، این دستور به صورت اتوماتیک یکی خواهد ساخت. کلید SSH برای ارسال کدها به هروکو مورد نیاز است. - -## Git commit - -هروکو از گیت برای انتشار استفاده می‌کند. بر خلاف PythonAnywhere، شما می‌توانید به صورت مستقیم و بدون استفاده از گیتهاب، کدها را به هروکو بفرستید. اما لازم است چند کار دیگر انجام دهیم. - -فایل `.gitignore` که در پوشه `djangogirls` قرار دارد را باز کنید و عبارت `local_settings.py` را به آن اضافه کنید. نیاز داریم که گیت، فایل `local_settings` را در نظر نگیرد و آن را به هروکو ارسال نکند. - - *.pyc - db.sqlite3 - myvenv - __pycache__ - local_settings.py - -حالا تغییرات در گیت را کامیت می‌کنیم. - - $ git status - $ git add -A . - $ git commit -m "additional files and changes for Heroku" - - -## یک نام برای اپلیکیشن انتخاب کنید - -ما وبلاگ شما را در آدرس `[نام منتخب شما].herokuapp.com` منتشر خواهیم کرد، بنابراین لازم است که نامی را انتخاب کنیم که فرد دیگری آن را انتخاب نکرده باشد. این نام، لازم نیست که به نام اپ `blog` در پروژه جنگو، یا نام `mysite` که از آن برای پروژه استفاده کرده‌ایم ربطی داشته باشد. این نام می‌تواند هرچیزی که شما دوست دارید باشد، اما هروکو نسبت به آنکه از چه کاراکترهایی استفاده کنید سختگیر است: شما اجازه دارید که فقط از حروف کوچک انگلیسی (حروف بزرگ و کاراکترهای خاص مانند حروف فارسی پذیرفته نیست)، اعداد و خط فاصله(`-`) استفاده کنید. - -وقتی یک اسم پیدا کردید، این دستور را اجرا کنید و `djangogirlsblog` را با نام منتخب خودتان عوض کنید: - - $ heroku create djangogirlsblog - -> __نکته__: به یاد داشته باشید که `djangogirlsblog` را با نام منتخب خود در هروکو جابجا کنید. - -اگر نتوانستید اسمی انتخاب کنید، می‌توانید فقط دستور زیر را اجرا کنید: - - $ heroku create - -هروکو یک اسم استفاده نشده را برای اپلیکیشن شما انتخاب خواهد کرد (چیزی شبیه به `enigmatic-cove-2527`). - -اگر هر زمان لازم داشتید که نام اپلیکیشن هروکو را تغییر دهید به کمک دستور زیر می‌توانید این کار را انجام دهید (عبارت `the-new-name` را با نام جدید جابجا کنید): - - $ heroku apps:rename the-new-name - -> __نکته__: به یاد داشته باشید که بعد از تغییر نام اپلیکیشن، لازم است که برای دسترسی به وب‌سایت خود از آدرس `[the-new-name].herokuapp.com` استفاده کنید. - -## انتشار بر روی هروکو! - -تنظیمات زیادی را تا الان انجام داده‌ایم، درست است؟ اما همه این کارها را فقط لازم است یک بار انجام دهیم. حالا می‌توانیم اپلیکیشن را منتشر کنیم! - -وقتی شما دستور `heroku create` را اجرا می‌کنید، این دستور به صورت اتوماتیک، هروکو ریموت را برای اپ ما در مخزن گیت ما ایجاد می‌کند. حالا به سادگی با دستور گیت پوش، می‌توانیم اپلیکیشن خود را منتشر کنیم: - - $ git push heroku master - -> __نکته__: این دستور احتمالاً *چیزهای زیادی* را در هنگام اولین اجرا نشان می‌دهد، چرا که هروکو در حال کامپایل و نصب psycopg است. اگر پس از پایان کار و در انتهای خطوط نوشته‌شده عبارتی شبیه به `https://yourapplicationname.herokuapp.com/ deployed to Heroku` ببینید یعنی کل عملیات موفقیت‌آمیز بوده است. - -## اپلیکیشن خود را بازدید کنید - -شما کدهای خود را بر روی هروکو منتشر کردید و نوع فرآیند را در فایل `Procfile`معرفی کرده‌اید (فرآیند ساخت `web` را کمی قبل‌تر انتخاب کرده بودیم). حالا می‌توانیم به هروکو بگوییم که این `web process` را آغاز کند: - -برای این‌ کار دستور زیر را اجرا کنید: - - $ heroku ps:scale web=1 - -این دستور به هروکو می‌گوید که فقط یک نسخه از فرآیند `web` ما را اجرا کند. از آنجاکه اپلیکیشن بلاگ ما بسیار ساده است، ما نیاز به منابع بیشتری نداریم پس همین یک نسخه از فرآیند کافی است. می‌توانید از هروکو بخواهید که نسخه‌های بیشتری از اپلیکیشن شما را اجرا کند (هروکو این نوع از فرآیندها را "Dynos" می‌نامد پس تعجب نکنید اگر این عبارت را دیدید) اما این بخش از خدمات هروکو رایگان نیست. - -حالا می‌توانیم این اپ را در مرورگر خود با دستور `heroku open` باز کنیم. - - $ heroku open - -> __نکته__: شما خطایی خواهید دید! تا دقایقی دیگر به آن خواهیم پرداخت. - -این کار یک url شبیه به [https://djangogirlsblog.herokuapp.com/]() در مرورگر شما باز می‌کند. در اینجا ممکن است صفحه خطایی را ببینید. - -خطایی که شما می‌بینید به خاطر آن است که وقتی ما کدها را بر روی هروکو منتشر کردیم یک دیتابیس جدید اما خالی ساخته‌ایم. لازم است که دستورهای `migrate` و `createsuperuser` را همانند کاری که در PythonAnywhere انجام دادیم، اجرا کنیم. اما این بار این دستورات را به روش متفاوتی در خط فرمان کامپیوتر خودمان و به کمک `heroku run` اجرا می‌کنیم: - - $ heroku run python manage.py migrate - - $ heroku run python manage.py createsuperuser - -خط فرمان از شما خواهد خواست که یک نام کاربری و گذرواژه انتخاب کنید. این اطلاعات برای ورود شما به صفحه ادمین وب‌سایت منتشر شده استفاده خواهد شد. - -مرورگر خود را دوباره بارگذاری کنید، نتیجه را خواهید دید! حالا شما دو روش مختلف برای میزبانی وب‌سایت خود بلد هستید. روش مورد علاقه خود را انتخاب کنید :) diff --git a/ja/README.md b/ja/README.md index 2bb3640..f8f6aab 100644 --- a/ja/README.md +++ b/ja/README.md @@ -13,7 +13,6 @@ - [宿題: コメントモデルを作ろう](homework_create_more_models/README.md) - [オプション: PostgreSQLのインストール](optional_postgresql_installation/README.md) - [オプション: ドメイン](domain/README.md) -- [Herokuにデプロイしよう](heroku/README.md) ## コントリビューションについて diff --git a/ja/SUMMARY.md b/ja/SUMMARY.md index eee0ffc..c97d295 100644 --- a/ja/SUMMARY.md +++ b/ja/SUMMARY.md @@ -6,4 +6,3 @@ * [宿題: コメントモデルを作ろう](homework_create_more_models/README.md) * [オプション: PostgreSQLのインストール](optional_postgresql_installation/README.md) * [オプション: ドメイン](domain/README.md) -* [Herokuにデプロイしよう](heroku/README.md) diff --git a/ja/heroku/README.md b/ja/heroku/README.md deleted file mode 100644 index d48f984..0000000 --- a/ja/heroku/README.md +++ /dev/null @@ -1,209 +0,0 @@ -# Herokuにデプロイしよう(PythonAnywhereだけでなく) - -開発者にとって、いくつかのデプロイ先を経験しておくことは得策です。ぜひ、PythonAnywhereだけでなくHerokuにもサイトをデプロイしてみませんか? - -[Heroku](http://heroku.com/) は、アクセスがそんなに多くない小さなアプリケーションでは無料ですが、デプロイするのは少し難しいです。 - -こちらのチュートリアルを参考にしてください:https://devcenter.heroku.com/articles/getting-started-with-django -ですがここでは、より簡単に説明したいと思います。 - - -## `requirements.txt`ファイル - -もし作成していなかったら、`requirements.txt`ファイルを作成しましょう。サーバーに何のパッケージがインストールされている必要があるかをHerokuに教えるためのファイルです。 - -ですがまず、Herokuにデプロイするためにいくつかの新しいパッケージが必要です。`virtualenv`が有効になっているコンソール画面にいって、次のようにタイプします: - - (myvenv) $ pip install dj-database-url gunicorn whitenoise - -インストールが終わったら、`djangogirls`のディレクトリ下で次のコマンドをたたきます: - - (myvenv) $ pip freeze > requirements.txt - -このコマンドで、インストールされているパッケージ(例えばDjangoなど、あなたが使用しているPythonライブラリ)のリストが書かれた`requirements.txt`というファイルが作成されます。 - -> __注__:`pip freeze`コマンドは、virtualenv内にインストールされているすべてのPythonライブラリのリストを出力します。`>`をつけると、`pip freeze`の出力をファイルに書き出します。試しに、`> requirements.txt`なしで`pip freeze`コマンドだけたたいて何が起こるか見てみてください! - -`requirements.txt`ファイルを開いて、次の行を一番下に追加しましょう: - - psycopg2==2.7.6.1 - -上記の行は、Heroku上であなたのアプリケーションを動かすのに必要です。 - - -## Procfile - -また、ProcfileというものがHerokuには必要です。これは、ウェブサイトを起動するために実行するコマンドをHerokuに伝えます。コードエディタで`djangogirls`ディレクトリ下に`Procfile`というファイルを作成し、次の行を追加してください: - - web: gunicorn mysite.wsgi --log-file - - -この行は、`web`というアプリケーションをデプロイすることを意味し、そのために`gunicorn mysite.wsgi`コマンドを走らせようとしています(`gunicorn`とは、Djangoの`runserver`コマンドのより強力なバージョンみたいなものです)。 - -保存して完了! - -## `runtime.txt`ファイル - -また、どのバージョンのPythonを使いたいのかをHerokuに知らせる必要があります。コードエディタで`djangogirls`ディレクトリ下に`runtime.txt`というファイルを作成して、次のテキストを書き込んでください(これ以外には何もありません!): - - python-3.6.4 - -## `mysite/local_settings.py` - -PythonAnywhereよりも制限が厳しいため、Herokuでは私たちがローカルで使用しているもの(コンピュータ上のもの)とは異なる設定を使います。例えば、HerokuではSQLiteではなく、Postgresを使います。そのため、ローカル環境でしか利用できない設定用に、別々のファイルを作成することにします。 - -それでは、`mysite/local_settings.py`ファイルを作成しましょう。この中には`mysite/settings.py`ファイル内の`DATABASE`設定が含まれます。次のように: - -```python -import os -BASE_DIR = os.path.dirname(os.path.dirname(__file__)) - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), - } -} - -DEBUG = True -``` - -では保存しましょう! :) - -## mysite/settings.py - -あと一つ必要なのは、 `settings.py` ファイルの修正です。エディタで `mysite/settings.py` を開いて、次のように変更/追加します: - -```python -import dj_database_url - -... - -DEBUG = False - -ALLOWED_HOSTS = ['127.0.0.1', '.herokuapp.com'] - -... - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'djangogirls', - 'USER': 'name', - 'PASSWORD': '', - 'HOST': 'localhost', - 'PORT': '', - } -} - -... - -db_from_env = dj_database_url.config(conn_max_age=500) -DATABASES['default'].update(db_from_env) -``` -Herokuに必要な設定になります。 - -ファイルを保存しましょう。 - -## mysite/wsgi.py - - `mysite/wsgi.py` ファイルを開いて、最終行に次の行を追加します: - -```python -from whitenoise.django import DjangoWhiteNoise -application = DjangoWhiteNoise(application) -``` - -できた! - -## Herokuアカウント - -Heroku CLI(旧Heroku toolbelt)をインストールする必要があります(セットアップ中に既にインストールしている場合は、このステップをスキップしましょう)。: https://devcenter.heroku.com/articles/heroku-cli - -> コマンドプロンプトを再起動した後は、 `djangogirls` のフォルダに戻って仮想環境を有効にするのを忘れないでください!([「Djangoのインストール」の章をチェック](https://tutorial.djangogirls.org/ja/django_installation/#%E4%BB%AE%E6%83%B3%E7%92%B0%E5%A2%83%E3%81%AE%E6%93%8D%E4%BD%9C)) - -こちらでHerokuのフリーアカウントを作成しましょう:https://signup.heroku.com/www-home-top - -次にこのコマンドを実行して、あなたのコンピュータでHerokuアカウントを認証します: - - $ heroku login - -SSHキーがない場合は、このコマンドによって自動的に作成されます。 SSHキーは、Herokuにソースコードをプッシュするために必要です。 - -## Gitコミット - -Herokuはデプロイするのにgitを使います。PythonAnywhereとは違って、Githubを経由せずに直接Herokuにプッシュできます。しかし、最初にいくつか微調整する必要があります。 - -`djangogirls` ディレクトリの中の `.gitignore` ファイルを開いて、そこに `local_settings.py` を追加してください。gitに `local_settings` を無視させることで、それは私たちのローカルコンピュータにとどまり、Herokuにアップされません。 - - *.pyc - db.sqlite3 - myvenv - __pycache__ - local_settings.py - -そして変更をコミットします。 - - $ git status - $ git add -A . - $ git commit -m "additional files and changes for Heroku" - - -## アプリケーション名をつける - -あなたのブログを `[あなたのブログの名前].herokuapp.com` で公開しますので、他の誰も取得していない名前を選ぶ必要があります。この名前はDjangoの `blog` アプリや `mysite` 、あるいはこれまでに作成したものに関連している必要はありません。名前は何でもかまいませんが、Herokuでは使える文字の種類が非常に限られています。使用可能なのは、英数小文字とダッシュ( `-` )だけです(大文字やアクセント文字は使えません)。 - -名前を考えたら(あなたの名前やニックネームが含まれているなど)、このコマンドを実行します。 `djangogirlsblog` のところを自分のアプリケーション名に置き換えてください: - - $ heroku create djangogirlsblog - -> __注__: `djangogirlsblog` の部分を、あなたのHerokuのアプリケーション名に置き換えるのを忘れないでください。 - -名前が思いつかなかったら、代わりに次のように実行することができます。 - - $ heroku create - -すると、Herokuのほうで自動的に未使用の名前をつけてくれます(おそらく `enigmatic-cove-2527` のようなもの)。 - -Herokuアプリケーションの名前を変更したい場合は、いつでもこのコマンドで変更できます( `the-new-name` を使用したい新しい名前に置き換えてください): - - $ heroku apps:rename the-new-name - -> __注__: アプリケーション名を変更した後は、 `[the-new-name].herokuapp.com` にアクセスして確認してください。 - -## Herokuにデプロイ! - -たくさんの設定やインストールをしてきましたが、大丈夫?でも、それらは一度だけでいいんです。もうデプロイできますよ! - -`heroku create` コマンドを実行したときに、あなたのリポジトリにHerokuのリモートサーバーが自動的に追加されています。次は、あなたのアプリケーションをデプロイするのに、単にgitでプッシュするだけです: - - $ git push heroku master - -> __注__: Herokuがpsycopgをコンパイルしてインストールするので、これを最初に実行したときはおそらく*大量*のログが出力されます。ログの最後のほうで、 `https://yourapplicationname.herokuapp.com/ deployed to Heroku` のような記述を見つけたら、デプロイに成功したと思っていいでしょう。 - -## アプリケーションにアクセス - -あなたのソースコードをHerokuにデプロイし、そしてプロセスタイプを `Procfile`で指定しました(以前に `web` プロセスタイプを選んでいます)。Herokuにこの `web process` を開始するように指示できます。 - -そのためには、次のコマンドを実行します: - - $ heroku ps:scale web=1 - -これはHerokuに `web` プロセスのインスタンスを1つだけ実行するように伝えます。私たちのブログアプリケーションは非常に単純なので、あまりパワーを必要とせず、1つのプロセスだけを実行しても問題ありません。Herokuにもっと多くのプロセスを実行するようにすることも可能です(ところで、Herokuはこれらのプロセスを "Dynos"と呼んでいますので、この用語を見ても驚かないでください)。ですが、それはフリープランではできません。 - -これで、 `heroku open` コマンドを使うと、ブラウザでアプリにアクセスできます。 - - $ heroku open - -> __注__: エラーページが見えていますね!もう少し説明を加えます。 - -ブラウザに [https://djangogirlsblog.herokuapp.com/]() のようなURLが表示され、現時点ではおそらくエラーページが表示されます。 - -このエラーは、Herokuにデプロイしたときにデータベースが新規作成され、それが空であるために起こっています。PythonAnywhereにデプロイしたときと同じように、 `migrate` コマンドと `createsuperuser` コマンドを実行する必要があります。ここでは、あなたのコンピュータ上で特別なコマンドラインが用意されています。 `heroku run` です: - - $ heroku run python manage.py migrate - - $ heroku run python manage.py createsuperuser - -コマンドプロンプトから、ユーザー名とパスワードをもう一度入力するように求められます。これらはリモートサーバー上のウェブサイトの管理者ページのログイン情報になります。 - -ブラウザで更新してください。これで、2つの異なるホスティングプラットフォームにデプロイする方法がわかりました。お気に入りを選んでくださいね :) diff --git a/ko/README.md b/ko/README.md index a2ae17b..4f68dc9 100644 --- a/ko/README.md +++ b/ko/README.md @@ -17,7 +17,6 @@ * [숙제: 댓글 모델 만들기](homework_create_more_models/README.md) * [옵션: PostgreSQL 설치하기](optional_postgresql_installation/README.md) * [옵션: 도메인 만들기](domain/README.md) -* [옵션: 헤로쿠(Heroku) 배포하기](heroku/README.md) * [옵션: 파이썬애니웨어(PythonAnywhere) 수동 배포하기](manual_pythonanywhere_deploy/README.md) ## 튜토리얼 참여하기 diff --git a/ko/SUMMARY.md b/ko/SUMMARY.md index 19f313e..e24c0f7 100644 --- a/ko/SUMMARY.md +++ b/ko/SUMMARY.md @@ -6,5 +6,4 @@ * [숙제: 댓글 모델 만들기](homework_create_more_models/README.md) * [옵션: PostgreSQL 설치하기](optional_postgresql_installation/README.md) * [옵션: 도메인 만들기](domain/README.md) -* [옵션: 헤로쿠(Heroku) 배포하기](heroku/README.md) * [옵션: 파이썬애니웨어(PythonAnywhere) 수동 배포하기](manual_pythonanywhere_deploy/README.md) diff --git a/ko/heroku/README.md b/ko/heroku/README.md deleted file mode 100644 index 7412d13..0000000 --- a/ko/heroku/README.md +++ /dev/null @@ -1,216 +0,0 @@ -# 헤로쿠(Heroku) 배포하기 - -항상 서로 다른 두 가지 배포 옵션을 사용하는 것이 좋아요. 헤로쿠(Heroku)에 사이트를 배포해 볼까요? - -[헤로쿠](http://heroku.com/) 역시 방문자 수가 적은 소규모 애플리케이션에는 무료에요. 하지만 배포과정이 다소 까다로워요. - -우리는 이 [튜토리얼](https://devcenter.heroku.com/articles/getting-started-with-django)을 따라 해볼 거에요. https://devcenter.heroku.com/articles/getting-started-with-django 다소 복잡해 보일지 몰라도 붙여넣기를 사용해서 쉽게 해볼 거에요. - - -## 우선 `requirements.txt` 파일이 필요해요. - -`requirements.txt` 파일을 만들지 않았다면 이번에 만들어볼 거에요. 이 파일은 우리 서버에 어떤 파이썬 패키지들을 설치해야 하는지 알려 줍니다. - -하지만 첫째로, 헤로쿠를 사용하려면 몇 가지 새로운 패키지를 설치 해야 해요. `virtualenv`를 활성화시킨 상태에서 콘솔로 가서 다음과 같이 입력해 보세요.: - - (myvenv) $ pip install dj-database-url gunicorn whitenoise - -설치가 끝났다면 `djangogirls` 디렉토리로 가서 다음 명령어를 실행해 보세요.: - - (myvenv) $ pip freeze > requirements.txt - -위 명령어를 실행했다면 `requirements.txt`라는 파일이 생성되었을 거예요. 이 파일 안에는 지금까지 사용했던 패키지들의 리스트가 들어있어요(Django를 비롯한 파이썬 라이브러리가 있을 거예요.). - -> __Note__: `pip freeze` 는 가상환경(virtualenv)에 설치된 파이썬 라이브러리 목록을 출력해줘요. 그리고 `>` 는 `pip freeze` 의 실행결과를 파일에 담아주는 역할을 해요. 어떤일이 일어나는지 `> requirements.txt` 없이 `pip freeze` 를 실행해 보세요. - -이 파일을 열고 맨 마지막 줄에 다음 내용을 추가해요.: - - psycopg2==2.6.2 - -이 줄은 헤로쿠에서 우리가 만든 애플리케이션이 실행될 수 있게 해줄 거예요. - -## Procfile - -헤로쿠는 Procfile 도 필요해요. 이것은 헤로쿠에게 우리의 웹사이트를 시작시키기 위해 실행되어야 할 명령어의 순서를 알려줘요. 코드 편집기를 열고 `djangogirls` 디렉토리 로 가서 `Procfile`이라 불리는 파일을 생성하고 다음 줄을 추가해 보세요.: - - web: gunicorn mysite.wsgi --log-file - - -이 줄은 우리가 `web` 애플리케이션을 배포할 때 `gunicorn mysite.wsgi`(`gunicorn`은 더 강력한 버전의 `runserver` 명령어에요.) 명령을 실행하는 것을 의미해요. - -그리고 저장해요. 자 됐어요! - -## `runtime.txt` 파일 - -우리는 헤로쿠에 어떤 버전의 파이썬을 사용하고 있는지 알려줘야 해요. `djangogirls` 폴더에서 여러분이 사용하고 있는 에디터의 "새로운 파일 만들기" 기능을 사용해서 `runtime.txt`파일을 만들어 주세요. 그리고 파일에 다음 한 줄을 추가해 주세요. 이게 다예요.: - - python-3.5.2 - -## `mysite/local_settings.py` - -헤로쿠는 PythonAnywhere 보다 제한적이라 로컬 컴퓨터(지금 사용하고 있는 컴퓨터)와 다른 설정을 해야 해요. -우리의 예제는 SQLite로 되어있지만 헤로쿠는 Postgres 를 사용하려고 할거에요. 그래서 로컬 환경에서만 필요한 별도의 설정 파일을 만들어야 해요. - -그럼 바로 `mysite/local_settings.py` 파일을 만들어 봐요. 이 파일에서 `DATABASE` 설정을 만들어 줄 텐데요. `mysite/settings.py`에서 했던 것처럼 만들어 주세요.: - -```python -import os -BASE_DIR = os.path.dirname(os.path.dirname(__file__)) - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.sqlite3', - 'NAME': os.path.join(BASE_DIR, 'db.sqlite3'), - } -} - -DEBUG = True -``` - -자, 그리고 저장해요! :) - -## mysite/settings.py - -그리고 다음으로 해줄 것은 우리의 웹 사이트 `settings.py` 파일을 수정해 줄 거에요. 에디터를 열고 `mysite/settings.py` 파일을 불러와서 다음 줄을 변경/추가해주세요.: - -```python -import dj_database_url - -... - -DEBUG = False - -ALLOWED_HOSTS = ['127.0.0.1', '.herokuapp.com'] - -... - -DATABASES = { - 'default': { - 'ENGINE': 'django.db.backends.postgresql_psycopg2', - 'NAME': 'djangogirls', - 'USER': 'name', - 'PASSWORD': '', - 'HOST': 'localhost', - 'PORT': '', - } -} - -... - -db_from_env = dj_database_url.config(conn_max_age=500) -DATABASES['default'].update(db_from_env) -``` - -이 코드는 헤로쿠에 필요한 설정을 구성할거예요. - -이제 저장해 주세요. - -## mysite/wsgi.py - - -`mysite/wsgi.py` 파일을 열고 파일의 끝에 다음 라인을 추가해줘요.: - -```python -from whitenoise.django import DjangoWhiteNoise -application = DjangoWhiteNoise(application) -``` - -좋아요! - -## 헤로쿠 계정 - -헤로쿠 toolbelt 를 설치해줘야 하는데요. 여기에서 찾을 수 있어요(이미 설치했다면 다음으로 넘어갈게요.): https://toolbelt.heroku.com/ - -> 윈도우에서 헤로쿠 toolbelt 설치 프로그램을 실행할 때 설치할 구성 요소를 묻는 메시지가 나타나면 "사용자 지정 설치"를 선택해 주세요. 그리고 "Git and SSH" 앞에 있는 체크박스를 선택해 주세요. - -> 윈도우에서 명령 프롬프트를 열고 Git과 SSH를 사용하기 위해 다음의 명령어를 실행해 주세요. `PATH`: `setx PATH "%PATH%;C:\Program Files\Git\bin"` 변경된 내용을 확인해 보기 위해 명령 프롬프트를 재시작해주세요. - -> 명령 프롬프트를 재시작 하고 난 뒤에는 `djangogirls` 폴더로 돌아가서 가상환경을 활성화하는 것을 잊지 마세요! (Hint: [Check the Django installation chapter](http://tutorial.djangogirls.org/en/django_installation/index.html#working-with-virtualenv)) - -여기에서 헤로쿠 무료 계정을 만들고 오세요: https://id.heroku.com/signup/www-home-top - -다음 명령어로 헤로쿠 계정을 인증받을 수 있어요: - - $ heroku login - -이 명령은 SSH 키가 없을 때 자동으로 SSH 키를 만들어요. SSH 는 헤로쿠에 코드를 푸시하기 위해 필요해요. - -## Git 커밋 - -헤로쿠는 배포를 위해 git을 사용해요. PythonAnywhere 와는 달리 Github를 거치지 않고 헤로쿠에 바로 올릴 수 있어요. 그 전에 두 가지를 미리 조정해야해요. - -`djangogirls` 폴더로 가서 `.gitignore` 파일을 열어요. 그리고 `local_settings.py` 를 마지막 줄에 추가해요. git이 `local_settings` 파일을 무시하고 헤로쿠에 올라가지 않고 로컬 컴퓨터에 남아있길 원해서예요. - - *.pyc - db.sqlite3 - myvenv - __pycache__ - local_settings.py - - -그리고 변경사항을 git으로 커밋해봐요. - - $ git status - $ git add -A . - $ git commit -m "additional files and changes for Heroku"애플리케이션 - - -## 애플리케이션 이름을 정해요. - -웹상에서 `[내가 만든 블로그 이름].herokuapp.com` 주소를 통해 직접 만든 블로그에 들어갈 수 있게 될 거에요. 그래서 누구도 사용하지 않는 이름으로 만들어야 해요. 이 이름은 꼭 장고 `blog` 앱 이나 `mysite` 일 필요는 없어요. 이름은 원하는 대로 지을 수는 있지만 헤로쿠는 사용할 수 있는 문자에 대해 조금 제한적이에요. 소문자, 숫자, 대시(`-`)만 사용할 수 있어요. - -이름(아마도 이름이나 별명)을 생각해두고 다음 명령어를 실행해 줘요. `djangogirlsblog` 로 되어 있는 이름을 나만의 이름으로 바꿔주세요.: - - $ heroku create djangogirlsblog - -> __Note__: `djangogirlsblog` 를 헤로쿠에 있는 나만의 애플리케이션 이름으로 바꾸는 것을 잊지마세요. - -이름을 짓는 건 정말 어려운 일이에요. 딱히 떠오르는 이름이 없다면 다음과 같이 실행해 보세요. - - $ heroku create - -헤로쿠가 우리를 위해 아무도 사용하고 있지 않은 이름을 골라줄 거예요(아마도 `enigmatic-cove-2527` 이런 형태의 이름으로). - -헤로쿠에서 만든 이름을 변경하고 싶다면 언제든지 아래처럼 명령어를 실행해서 바꿔줄 수 있을 거예요. (`the-new-name` 을 변경할 이름으로 바꿔주세요.) - - $ heroku apps:rename the-new-name - -> __Note__: 애플리케이션 명을 변경하면 꼭 `[the-new-name].herokuapp.com` 와 같이 변경된 이름으로 사이트를 방문해서 확인해 보세요. - -## 헤로쿠에 배포하기! - -설정과 설치 과정이 조금 많았죠? 하지만 이 일은 한 번만 해주면 돼요! 이제 배포를 할 수 있어요! - -`heroku create`을 실행했을 때 헤로쿠의 remote를 자동으로 설정했어요. git push로 우리의 애플리케이션을 배포해 보세요. - - $ git push heroku master - -> __Note__: 헤로쿠는 psycopg 를 컴파일하고 설치하기 때문에 처음 실행 될 때는 아마도 *많은* 출력이 있을 거예요. 이 출력 끝에서 `https://yourapplicationname.herokuapp.com/ deployed to Heroku` 이런 출력을 보았다면 아마도 배포가 성공했을 거예요. - -## 애플리케이션에 접속해 보세요. - -헤로쿠에 코드를 배포하고 `Procfile`로 프로세스 유형을 지정했어요(`web` 프로세스로요). -이제 헤로쿠에 `web process` 시작하라고 얘기해 줄 수 있어요. - -이 명령어를 실행하려면 다음과 같이 해보세요. - - $ heroku ps:scale web=1 - -이건 헤로쿠에게 `web` 프로세스의 인스턴스 하나만 실행하도록 해요. 우리의 블로그 애플리케이션은 꽤 단순하기 때문에 많은 전력을 필요하지 않아요. 그래서 하나의 프로세스만으로도 충분할 거예요. 헤로쿠에게 더 많은 프로세스를 실행하도록 요청할 수도 있어요(단, 헤로쿠는 이 프로세스를 "Dynos"라고 불러요. 이 단어를 보게 된다면 놀라지 마세요.) 하지만 여러 프로세스를 실행하게 된다면 더 이상 무료가 아니에요. - -브라우저에서 `heroku open`을 통해 앱에 들어갈 수 있어요. - - $ heroku open - -> __Note__: 아마도 오류 페이지가 보일 거예요! 1분만 이것에 대해 얘기해 볼게요. - -브라우저에서 우리 블로그 애플리케이션 주소인 https://djangogirlsblog.herokuapp.com/에 접속하면 아마도 오류 페이지가 나올 거예요. - -이 오류는 헤로쿠에 배포를 할 때 비어있는 새로운 데이터베이스를 만들어주었기 때문이에요. PythonAnywhere에서 했던 것처럼 `migrate` 와 `createsuperuser` 명령어를 실행해주세요. 이번에는 헤로쿠를 위한 특별한 명령어를 실행할게요. `heroku run` 이렇게요. - - $ heroku run python manage.py migrate - - $ heroku run python manage.py createsuperuser - -이 명령 프롬프트는 사용자명과 비밀번호를 다시 물어볼 거예요. 웹사이트의 어드민 페이지에서 사용할 로그인 정보를 입력해주세요. - -브라우저를 새로고침 하고 다시 가보세요! 이제 다른 두 플랫폼에 어떻게 배포하는지 알게 되었어요. 마음에 드는 플랫폼을 선택하세요. :) \ No newline at end of file