基本上不是在ec2上機器也可以使用,不過這篇我是開一個新的ec2 instance邊做邊寫的,理論上照著步驟走可以順裡跑起來.
當然通常這種事情不會跟著理論走就是了^.<
ubuntu使用aws ec2提供的的ubuntu image
目標:
在乾淨的機器上快速架設django網站的環境.
儘量簡化過程建立最基本的環境.
儘量簡化過程建立最基本的環境.
前置準備:
- 弄出一個ubuntu ec2 instance (記得security group要開port給tcp, 這裡我開80)
- 一團djnago的code ( 要已經可用python manage.py runserver 跑debug)
- 把那團django的code丟到 ec2 上的/home/ubuntu (或是另外開一個專屬django得user更好)
步驟:
一. ssh 連線到ec2上並且使用下列指令安裝套件們:
- sudo apt-get update //怒更新一下apt-get
- sudo apt-get install python-pip python-dev build-essential //怒裝一發python相關套件
- sudo pip install virtualenv //這雖然非必要但是很好用 怒用一發
二.使用virtualenv並且安裝django跟其他python套件
- virtualenv venv //建立virtual environment
- . venv/bin/activate //使用這個env
- pip install django
- pip install $你需要的套件們
截至此刻, 已經可以使用
python manage.py runserver 0.0.0.0:8080
三. 安裝與設定apache
- sudo apt-get install apache2 apache2-mpm-prefork apache2-utils libexpat1 ssl-cert
- sudo apt-get install libapache2-mod-wsgi
- sudo adduser www-data ubuntu #將apache所使用的www-data user加入ubuntu group(source code資料夾group為ubuntu的情況)
四.建立apache與django project 所使用的wsgi.py的連接
1.在/etc/apache2/sites-available 下面建立一個新的設定檔, 注意新版apache在這邊 的設定檔案一定要是.conf 附檔名. 這先就先取 kerker.conf
檔案內容如下:
2. sudo a2ensite kerker.conf
3.記得如果kerker.conf裡面使用的port是80的話要把用 a2dissite 把site-enable下其他port也是80的conf關掉不然會衝到, 如sudo a2dissite 000-default.conf
沒有留言:
張貼留言