在ubuntu下通过apache部署django

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

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

下载django

sudo apt-get install python-django

下载apache2

sudo apt-get install apache2

下载wsgi

sudo apt-get install libapache2-mod-wsgi

需要修改两个文件

自己项目下新建一个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'] = 'amzkeyword.settings'

from django.core.wsgi import get_wsgi_application

application = get_wsgi_application()

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

<VirtualHost *:80>

  ServerName xx.xx.xx.xx(IP)

  DocumentRoot /var/www

  <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/

  <Directory "/static/">

    Require all granted

  </Directory>

  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

apache部署django记录的更多相关文章

  1. Windows下Apache部署Django过程记录

    Win7/Apache/Python2.7/Django1.9部署Web   环境: Windows7 Apache httpd-2.4.16-win64-VC14 Python2.7.11 Djan ...

  2. Apache部署django项目

    在此之前,我们一直使用django的manage.py 的runserver 命令来运行django应用,但这只是我们的开发环境,当项目真正部署上线的时候这做就不可行了,必须将我们的项目部署到特定的w ...

  3. Apache部署Django+Vue

    首先部署Vue,后端项目django开5000端口,所以vue里的路由是ip:5000,然后打包npm run build 生成dist文件 把dist文件里的index.html和static放在/ ...

  4. Windows+Apache+Python+Django 踩坑记录

    摘要 使用Python进行Web项目开发:相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP ...

  5. mac osx 上面部署Django项目 apache+mysql+mod_wsgi

    1.安装Xcode command line tools 首先,编译mysql和Homebrew需要用到Xcode command line tools,所以首先安装command line tool ...

  6. 部署django - Apache + mod_wsgi + windows

    部署django - Apache + mod_wsgi + windows 1.环境 django 1.6.2 python 3.3 32位 apache 2.4.7 32位 一个可以使用的djan ...

  7. Ubuntu下Apache中部署Django

    环境:ubuntu12.04 server | apache2 | django1.6 | python2.7 | mod_wsgi 1. 安装apache2: sudo apt-get instal ...

  8. 百度云的ubuntu16.04.1部署Apache服务器+Django项目

    使用Apache和mod_wsgi部署Django 是一种久经考验的将Django投入生产的方法. mod_wsgi是一个Apache模块,可以托管任何Python WSGI应用程序,包括Django ...

  9. Nginx+uwsgi+Django 的web应用环境部署-完整记录

    Python作为当前最火爆最热门,也是最主要的Web开发语言之一,在其二十多年的历史中出现了数十种Web框架,比如Django.Tornado.Flask.Twisted.Bottle和Web.py等 ...

随机推荐

  1. ie下的onscroll和onresize的优化

    ie下的scroll和resize的优化 1.onscroll function scrollEvent(){ //do something... console.log('do something. ...

  2. mysql按条件查询当条件是数字的时候加不加引号是一样的。

    select * from user where id=1 select * from user where id="1" 在查询的注意是否需要加上"";

  3. XtraBackup2.3.3安装配置使用(innobakupex)

    通过使用percona公司的xtrabackup备份还原数据库,并完成搭建mysql主从数据库. 一.XtraBackup下载安装部分. 1.安装依赖软件. [root@localhost ~]# y ...

  4. 取计算机特征码(网卡MAC、硬盘序列号、CPU ID、BIOS编号)

    以下代码可以取得系统特征码(网卡MAC.硬盘序列号.CPU ID.BIOS编号) BYTE szSystemInfo[4096]; // 在程序执行完毕后,此处存储取得的系统特征码    UINT u ...

  5. android 二维码生成

    1,activity public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); set ...

  6. Vue.2.0.5-插件

    开发插件 插件通常会为Vue添加全局功能.插件的范围没有限制--一般有下面几种: 添加全局方法或者属性,如: vue-element 添加全局资源:指令/过滤器/过渡等,如 vue-touch 通过全 ...

  7. sublime 垂直编辑

    http://www.sublimetext.com/docs/2/multiple_selection_with_the_keyboard.html

  8. The prefix "mx" for element "mx:WindowedApplication" is not bound.

    <mx:WindowedApplication xmlns:fx="http://ns.adobe.com/mxml/2009"  > ......出现了错误The p ...

  9. linux:问题

    1>.Xshell远程连接linux闲置时间过长会自动中断连接: 2>.在linux环境下乱码: 3>.在linux下面执行mv /bin/ls /root/bin之后执行ls就不能 ...

  10. ssh tunnel通道

    Secure SHell (SSH) 是一个通过网络登录其他计算机的程序,在远程服务器运行命令,和从一台机器移动文件到另一台.在不安全的网络中,它提供两台主机之间强大认证和安全加密的的通讯,被称为 S ...