廢話不多說,直接提供 Shell Script 安裝部署,可以將下列程式碼儲存為檔案,利用 Bash 執行後將建立一個mysite的網站,你也可以修改 NAME 變數使用不同的網站名稱。
#! /bin/bash
#安裝 Apache HTTP Server, WSGI模組, Python套件安裝器
apt-get -y install apache2
apt-get -y install libapache2-mod-wsgi
apt-get -y install python-pip
#安裝Django web framework
pip install django
#網站名稱變數
NAME=mysite
cd /var/www
#新增一個名稱為NAME的Django專案
django-admin.py startproject $NAME
#新增虛擬主機的組態檔,最精簡的設定
(
cat <<EOF
<virtualhost *:80>
WSGIScriptAlias / /var/www/$NAME/$NAME/wsgi.py
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</virtualhost>
EOF
) > /etc/apache2/sites-available/$NAME
#設定PYTHONPATH,Python執行時尋找程式庫的位置
(
cat <<EOF
import sys
PROJECT_PATH=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
sys.path.append(PROJECT_PATH)
EOF
) >> /var/www/$NAME/$NAME/wsgi.py
#啟用Django專案的虛擬主機,關閉預設的虛擬主機
a2ensite $NAME
a2dissite default
#使Apache伺服器重新載入設定檔
service apache2 reload
正確執行後,打開瀏覽器,輸入主機IP或本機位置 (http://127.0.0.1),將可以看到 Django 的歡迎畫面:
其他參考資料
- Django 快速安裝指南
https://docs.djangoproject.com/en/1.5/intro/install/ - 如何使用 Apache 和 mod_wsgi 部署 Django
https://docs.djangoproject.com/en/1.5/howto/deployment/wsgi/modwsgi/ - mod_wsgi 設定指令一覽
https://code.google.com/p/modwsgi/wiki/ConfigurationDirectives
