项目命名为PersonalWebsite,后面各处取名时会用到。此项目数据库用的是Django自带的sqlite。
第一步:在AWS上创建新的EC2,选择Ubuntu Free Tier
这就是网站服务器了,可以通过ssh连接之。为了方便,写一个命令:$ ssh PersonalWebsite
# edit ~/.ssh/config Host PersonalWebsite HostName <ec2_hostname> User ubuntu IdentityFile "~/.ssh/<your_key_pair>.pem"
安装必要程序。可以通过执行写好的脚本文件
# filename: install.sh sudo apt-get update && upgrade; sudo apt-get install apache2 libapache2-mod-wsgi; sudo apt-get install python-pip; sudo pip install django; sudo apt-get install mysql-server python-mysqldb; sudo apt-get install git;
第二步 植入网站
先从github上拉下来: $ git clone <url>
我的Django网站文件结构如下
~/ PersonalWebsite/ App/ __init__.py admin.py models.py tests.py urls.py views.py PersonalWebsite/ __init__.py settings.py urls.py views.py wsgi.py static/ css/ images/ template/ app/ other_html.html db.sqlite3 manage.py
配置Apache服务器,在/etc/apache2/sites-enabled/PersonalWebsite.conf里声明wsgi.py和静态文件的路径。
WSGIScriptAlias / /home/ubuntu/PersonalWebsite/PersonalWebsite/wsgi.py WSGIPythonPath /home/ubuntu/PersonalWebsite <Directory /home/ubuntu/PersonalWebsite/PersonalWebsite> <Files wsgi.py> Order deny,allow Require all granted </Files> </Directory> Alias /media/ /home/ubuntu/PersonalWebsite/media/ Alias /static/ /home/ubuntu/PersonalWebsite/static/ <Directory /home/ubuntu/PersonalWebsite/static> Require all granted </Directory> <Directory /home/ubuntu/PersonalWebsite/media> Require all granted </Directory>
第三步 绑定域名
小贴士
网站的更新流程可以是:在本地开发 --> 上传至Github --> 登入EC2 --> $ git pull --> 重启Apache