apache部署django记录

在ubuntu14.01下通过apache部署django

首先需要下载python,django,apache以及wsgi模块

python基本已经自带,我用的是2.7,不是的话可以重新装一个

下载django

sudo pip install django使用pip下载最新的django如果没有pip可以用sudo apt-get install python-pip下载,pip是很有用的下载工具下载的下来的基本都是最新的

下载apache2

sudo apt-get install apache2

下载wsgi

sudo apt-get install libapache2-mod-wsgi

下载失败可以尝试sudo apt-get upgrade

需要修改两个文件

自己项目下新建一个apache文件夹,在文件夹里新建一个django.wsgi内容如下i

import os

import sys

path = '/var/www'

if path not in sys.path:

  sys.path.insert(0, '/var/www/yourproject')

os.environ['DJANGO_SETTINGS_MODULE'] = 'yourproject.settings'

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

在/etc/apache2/sites-available/新建一个yourproject.conf文件

<VirtualHost *:80>
  ServerName www.xxx.com(域名,没有域名的可以填ip下面的ServerAlias不填)
  ServerAlias xxxxxx(ip)

  DocumentRoot /var/www/yourproject

<Directory /var/www/yourproject>
  Options FollowSymLinks
  AllowOverride None
  Require all granted
</Directory>
  WSGIDaemonProcess yourproject processes=2 threads=15 display-name=%{GROUP}
  WSGIProcessGroup yourproject
  Alias /statics/ /var/www/yourproject/statics/#静态文件
  WSGIScriptAlias / /var/www/yourproject/apache/django.wsgi
</VirtualHost>

接着sudo a2ensite yourproject

sudo /etc/init.d/apache2 reload

打开网站查看是否成功

如果失败就看看错误日记

sudo /var/log/apache2/error.log

成功之后就开始导入数据库

mysql -u root -p

create database xxx

use database xxx

source /x/x/x.sql

导入成功后查看是否成功

遇到的问题:

 Error importing module django.middleware.security: "No module named security"

引起这种问题的原因是django1.8之后加入了django.middleware.security,服务器上的django版本可能过低,无法识别。

解决办法:
sudo pip install django==1.10.2目前最新版本

或者到setting.py注释掉这个东西

a2ensite,a2dissite,激活或者取消激活site

a2enmod,a2dismod,激活或者取消激活mod

a2enconf,a2disconf激活或者取消激活conf

原文地址:https://www.cnblogs.com/lgh344902118/p/6026596.html