สมัคร Heroku account
https://www.heroku.com/
ลง Virtualenv
$ sudo pip install virtualenv
ลง Postgres
$ sudo apt-get install postgresql postgresql-contrib
สร้าง user account Postgres
$ sudo -u postgres createuser --superuser $USER
$ sudo -u postgres createdb $USER
cd ไปที่ /home
$ touch .psql_history
ลง Heroku Toolbelt
$ wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh
ทำการเริ่ม Deploy App ลง Heroku
สร้างไฟล์ชื่อ requirements.txt ใน directory project
ใส่ข้อความบอกว่าต้องการโปรแกรมอะไรบ้าง
dj-database-url==0.4.0
Django==1.9.2
gunicorn==19.4.5
psycopg2==2.6.1
whitenoise==2.0.6
สร้าง virtual env ลงใน directory project
$ virtualenv venv
จากนั้นเปิดใช้งาน virtualenv
$ source venv/bin/activate
สร้าง Procfile ขึ้นมา
ใส่ข้อความว่า web: gunicorn ชื่อโปรเจค.wsgi --log-file -
เช่น web: gunicorn wordbankwebsite.wsgi --log-file -
ทำการลง psycopg2
$ sudo apt-get install libpq-dev && sudo apt-get install python3-dev
ติดตั้งไฟล์ที่จำเป็นในการรัน app ใน requirements.txt
$ sudo pip3 install -r requirements.txt
ลองรันในเครื่องตัวเอง
$ heroku local web
ตั้งค่า static files
ไป directory project
เปิด setting.py
ใส่ import dj_database_url ไว้ด้านบนของไฟล์
เลื่อนลงมาล่างสุด
ลบ
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/
STATIC_URL = '/static/'
ใส่
PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__))
# Static files (CSS, JavaScript, Images)
# https://docs.djangoproject.com/en/1.8/howto/static-files/
STATIC_ROOT = os.path.join(PROJECT_ROOT, 'staticfiles')
STATIC_URL = '/static/'# Extra places for collectstatic to find static files.
STATICFILES_DIRS = (
os.path.join(PROJECT_ROOT, 'static'),
)
# Simplified static file serving.
# https://warehouse.python.org/project/whitenoise/
STATICFILES_STORAGE = 'whitenoise.django.GzipManifestStaticFilesStorage'
สร้าง folder static ใน directory project
ใส่ไฟล์อะไรก็ได้ใน folder
จากนั้นทำการ collect static
python manage.py collectstatic
เปิดไฟล์ wsgi.py
ใส่ from whitenoise.django import DjangoWhiteNoise ไว้ด้านบน
ใส่ application = DjangoWhiteNoise(application) ไว้ด้านล่าง
จะเริ่ม deploy
สร้าง gitignore
กลับมา root dir ของโปรเจค
$ gedit .gitignore
ใส่ข้อความ
venv
*.pyc
staticfiles
.env
จากนั้น commit
แล้วสร้าง app ใน heroku
$ heroku create
แล้ว push project ขึ้น heroku
เสร็จสิ้นเรียบร้อย
https://wordbank5720144.herokuapp.com/