在本地的时候,admin的css是在django的目录下的。当部署到服务器之后,这些静态文件路径需要修正。
方法是在服务器上 /etc/apache2/sites-enables/PersonalWebsite.conf里面写好 路径的Alias 并且 给目录赋予权限:
注意这里alias有先后,不然alias会重叠,就无效了。
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/admin/ /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin/
Alias /static/ /home/ubuntu/PersonalWebsite/static/
<Directory /usr/local/lib/python2.7/dist-packages/django/contrib/admin/static/admin>
Require all granted
</Directory>
<Directory /home/ubuntu/PersonalWebsite/static> Require all granted </Directory> <Directory /home/ubuntu/PersonalWebsite/media> Require all granted </Directory>
项目命名为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
工作目标:
使用Django搭建个人网站,从主页上的链接进入博客,博客存放一些文章。
[Dream Idea]想要一个能够记录自己生命轨迹的个人网站,有三大块分类:技术,视野,情感
笔记概要:
是Django入门学习笔记,本人初次接触网站开发,结合自己经验展示如何造出一个MVC的Django博客。
工作环境:
IDE使用IntelliJ IDEA,系统是OS X,Python版本2.7,Django版本1.8
参考资料:
Tango with Django 这是一个不错的英文教程,我基本照着它来的,但是省略了一些暂时可以不实现的操作。
官方文档和教程 在做这个网站之前,跟着官方教程走了一遍,做了一个小投票的网站,有了初步印象。
在AWS的EC2上部署你的Django Demo 这是我在WordPress上写的笔记,前后有一个系列,可以参考。