Django项目部署(阿里云)(1)--基本功能实现

新博客地址:http://muker.net/django-server.html

手头需要部署一个Django项目,前面的博客也因为偷懒也没有部署,这里记录一下部署过程。
ps:其实网上比较靠谱的说明还真不好找
服务器系统:Ubuntu14.04 32位
这里使用比较常用的apache2 和 mod_wsgi来部署
如果你也是刚开的服务器记得

sudo apt-get update 

首先安装这两个软件:

sudo apt-get install apache2 libapache2-mod-wsgi 

我这里的版本号:

# apachectl -v Server version: Apache/2.4.7 (Ubuntu) Server built: Mar 10 2015 13:05:59 

接下来可以在服务器上安装一下Django并创建一个项目用作后面的测试,首先安装pip

sudo apt-get install python-pip 

然后安装Django并且创建一个Django项目(自己选好创建的位置):

pip install django==1.6 django-admin.py startproject yourprojectname 

我的项目地址在:/home/projects/dlsPro
Django的测试项目已经创建好了,接下来配置apache2
首先创建一个新的一个网站配置文件(vi用不习惯可以用nano):

sudo vi /etc/apache2/sites-available/sitename.conf 

内容如下:

<VirtualHost *:80> ServerName www.yourdomain.com ServerAlias otherdomain.com ServerAdmin [email protected] Alias /media/ /home/projects/dlsPro/media/ Alias /static/ /home/projects/dlsPro/static/ <Directory /home/projects/dlsPro/media> Require all granted </Directory> <Directory /home/projects/dlsPro/static> Require all granted </Directory> WSGIScriptAlias / /home/projects/dlsPro/dlsPro/wsgi.py <Directory /home/projects/dlsPro/dlsPro> <Files wsgi.py> Require all granted </Files> </Directory> </VirtualHost> 

上面的配置中写的 WSGIScriptAlias / /home/projects/dlsPro/dlsPro/wsgi.py 把apache2和你的网站联系起来了
但为了让脚本找到django项目的位置,得再修改下/home/projects/dlsPro/dlsPro/wsgi.py文件
在其中添加以下几行:

from os.path import join,dirname,abspath PROJECT_DIR = dirname(dirname(abspath(__file__))) import sys sys.path.insert(0,PROJECT_DIR) 

最后文件像这样:

import os os.environ.setdefault("DJANGO_SETTINGS_MODULE", "dlsPro.settings") from os.path import join,dirname,abspath PROJECT_DIR = dirname(dirname(abspath(__file__))) import sys sys.path.insert(0,PROJECT_DIR) from django.core.wsgi import get_wsgi_application application = get_wsgi_application() 

接下来保存更改,我们去启用新网站:

sudo a2ensite sitename.conf 

根据提示我们还需要重新载入apache2:

service apache2 reload 

此时去观察首页:
Django项目部署(阿里云)(1)--基本功能实现_第1张图片
竟然还是apache2的默认页面。
这时看一下/etc/apache2/sites-enabled目录
发现有下面两个文件:

# ls 000-default.conf sitename.conf 

default.conf是默认生成的,我们自己生成了新的设置之后就不再需要它了,所以删之并重新载入服务:

rm 000-default.conf service apache2 reload 

这时再刷新一下:
Django项目部署(阿里云)(1)--基本功能实现_第2张图片
熟悉的界面出现在眼前,大功告成。

你可能感兴趣的:(django)