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 muker715@aliyun.com
  
    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

此时去观察首页:
apache2.png
竟然还是apache2的默认页面。
这时看一下/etc/apache2/sites-enabled目录
发现有下面两个文件:

# ls
000-default.conf  sitename.conf

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

rm 000-default.conf 
service apache2 reload

这时再刷新一下:
django-welcome.png
熟悉的界面出现在眼前,大功告成。

posted on 2015-05-21 10:13  木客715  阅读(1618)  评论(1编辑  收藏  举报

导航