在 Heroku 上部署 Django 應用

類別: IT
標籤: django

Heroku是一個很棒的平臺,它有很多的控制元件,並且搭建環境相對來說也比較容易。本指南中,我將一步一步指導你在Heroku平臺上部署一個簡單地Django應用

搭建開發環境

Heroku工具鏈

假設你已經在Heroku平臺上註冊了一個帳戶,並且在裡面建立了一款應用,為了一會兒通過CLI與Heroku互動,你需要安裝Heroku工具鏈。在這篇指南中,我們用"Sample-Project"作為應用的名字。

Git倉庫

在部署你的應用到Heroku之前,你需要先將你的程式碼簽入git倉庫中。Heroku提供的git倉庫資訊可以在你的應用設定頁中找到。

git clone git@heroku.com:sample-project.git

Python 和 Virtualenv

如果這不是你的第一款python應用,你或許已經把環境搭建起來了。然後,不同的Pyton版本之間存在相容性問題,因此你應該在開發你的Python應用時使用Virtualenv命令來建立一個虛擬的環境。

# Install pip $ [sudo] python get-pip.py # Install Virtualenv$ [sudo] pip install virtualenv # Create a virtual environment$ virtualenv venv# Activate venv$ source venv/bin/activate

建立一款Django應用

建議你安裝django-toolbelt,它由以下幾部分組成。
- Django
- Gunicorn (WSGI伺服器)
- dj-database-url (一個Django配置工具)
- dj-static (一個Django靜態檔案伺服器)

(venv)$ pip install django-toolbelt(venv)$ cd Sample-Project# Create a Django project name Sample_Project# A valid Django project name can't contain dash(venv)$ django-admin.py startproject Sample_Project .# Create the requirements file   (venv)$ pip freeze > requirements.txt

部署你的程式碼

1. 建立ProcFile
ProcFile被用來宣告應該被執行的開始web dyno命令。這個檔案應該被放在manage.py(指定的)資料夾中。簡單地建立一個ProcFile檔案,如下面的一行例子所示。

web: gunicorn Sample_Project.wsgi --log-file -

2. 檢視你希望部署程式碼的遠端伺服器簡稱。下面這個例子顯示地是配置僅有一個簡單遠端伺服器的例子,它的簡稱是origin。(假設)你可能已經配置過很多的遠端伺服器。

$ git remote -vorigin	git@heroku.com:Sample-Project.git (fetch)origin	git@heroku.com:Sample-Project.git (push)

3. 部署你的程式碼

使用"git push"去部署你的程式碼。

$ git push origin masterInitializing repository, done.Counting objects: 11, done.Delta compression using up to 8 threads.Compressing objects: 100% (9/9), done.Writing objects: 100% (11/11), 2.64 KiB | 0 bytes/s, done.Total 11 (delta 0), reused 0 (delta 0)-----> Python app detected-----> Installing runtime (python-2.7.8)-----> Installing dependencies with pip       Downloading/unpacking Django==1.6.6 (from -r requirements.txt (line 1))       Downloading/unpacking dj-database-url==0.3.0 (from -r requirements.txt (line 2))         Downloading dj_database_url-0.3.0-py2.py3-none-any.whl       Downloading/unpacking dj-static==0.0.6 (from -r requirements.txt (line 3))         Downloading dj-static-0.0.6.tar.gz...To git@heroku.com:Sample-Project.git * [new branch]      master -> master

4. 驗證你部署的程式碼

$ heroku open

你應該看到標準的Django開始頁面(顯示的是)“It worked! Congratulations on your first Django-powered page.

5. 使用dyno測量你的應用規模

$ heroku ps:scale web=1Scaling dynos... done, now running web at 1:1X.
在 Heroku 上部署 Django 應用原文請看這裡

推薦文章