จะต้องมีขั้นตอนเตรียมการ pack ให้เขารู้ก่อนว่า app ของเราต้องการใช้อะไรบ้าง
- ทำการสมัครสมาชิกเว็บ Heroku
- ติดตั้ง HerokuCLI สามารถเข้าไปดูได้ที่ Heroku
- ติดตั้ง Virtual Environment เพื่อให้ไม่มีปัญหา เช่น projectA ใช้ django 1.8 projectB ใช้ django 1.10 กรณีติดตั้ง virtualenv จะรันได้ไม่มีปัญหา
- พิมพ์คำสั่ง เพื่อใช้งาน virtualenv ในโฟลเดอร์ project เรา
- source venv/bin/activate
- ทำตามขั้นตอนไป จนถึงขั้นตอน Build your app จะต้องติดตั้ง gunicorn เพิ่ม
- จากนั้นทำตามขั้นตอน นี้ แต่ยังไม่ต้อง git push
- เพราะว่ายังไม่ได้ตั้ง runtime ว่าจะให้ใช้ python version ไหน
- เข้าไปที่โฟลเดอร์ project เรา สร้างไฟล์ runtime.txt พิมพ์ python-3.6.1 ลงไปแล้ว save
- จากนั้นก็ commit อีกครั้ง ว่าเปลี่ยน runtime แล้ว
- ตั้ง path ของ static โดยเข้าไปดูที่ reference 1 และ 3 แล้ว commit อีกรอบว่าตั้ง path แล้ว
- ref 1 เข้าไปใน project/settings.py และเพิ่มบรรทัดข้างล่างลงไป
- PROJECT_ROOT = os.path.dirname(os.path.abspath(__file__)) 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'), )
- เข้าไปใน settings.py เพื่อเพิ่ม allow_host ตามที่ url ที่เขาให้มา
- หรือ อาจจะลอง push ไปก่อน จะขึ้น Disallow host at ...
- จากนั้นเข้าไปแก้ใน settings.py เช่น
- ALLOWED_HOSTS = ['gentle-springs-97441.herokuapp.com']
- จากนั้น push แล้วก็น่าจะใช้งานได้เลย
- https://simpleisbetterthancomplex.com/tutorial/2016/08/09/how-to-deploy-django-applications-on-heroku.html
- https://devcenter.heroku.com/articles/deploying-python
- http://stackoverflow.com/questions/12800862/how-to-make-django-serve-static-files-with-gunicorn
- http://stackoverflow.com/questions/40667519/why-is-django-throwing-error-disallowedhost-at
หรือ อีกวิธีคือให้ heroku connect ไปที่ github ของเรา
สามารถเข้าไปดู app ได้ที่
https://github.com/sovernut/scammerlist/commits/linux
Webapp:
https://gentle-springs-97441.herokuapp.com/
ไม่มีความคิดเห็น:
แสดงความคิดเห็น