在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. 3. 如何封装查询条件与查询结果到map中

    public Map<String, Object> queryOrderStatus(String orderNo) { // 查询到的结果与查询的条件一一对应,封装到map中! Str ...

  2. ASINetworkQueue 队列下载

    我们通过一个例子介绍一下请求队列使用,我们设计了一个应用,用户点击GO按钮从服务器同时下载两张图片显示在画面中. 我们直接看看主视图控制器ViewController.h代码如下: #import “ ...

  3. 关于js的call()和apply()两个函数的一点个人看法

    首先说明一下,call()和apply都是js的内置函数 它的作用是:改变call或者apply函数里面的``第一个参数对象``的指针,使它转向引用它的函数 call()的用法,call(对象,参数1 ...

  4. WinForm数字小键盘/WPF数字小键盘

    模仿原本的WinForm触摸屏小键盘制作WPF触摸屏小键盘 原WinForm触摸屏小键盘样式(WinForm采用Krypton系列控件)如下图: Designer代码如下: // // BtnNum1 ...

  5. Java文件操作①——XML文件的读取

    一.邂逅XML 文件种类是丰富多彩的,XML作为众多文件类型的一种,经常被用于数据存储和传输.所以XML在现今应用程序中是非常流行的.本文主要讲Java解析和生成XML.用于不同平台.不同设备间的数据 ...

  6. Python模块(MySQLdb)

    MySQLdb模块是python用来连接mysql的第三方模块,安装 pip install mysql-python 连接mysql: 主要两步,建立mysql连接对象.游标对象.再操作数据库 im ...

  7. 解决:CWnd::SetWindowText报Assertion failure

    参考资料: http://www.cnblogs.com/tiancun/p/3756581.html http://www.tc5u.com/mfc/2120698.htm http://forum ...

  8. Java基础之一组有用的类——生成日期和时间(TryDateFormats)

    控制台程序. java.util包中含有相当多的类涉及日期和时间,包括Date类.Calendar类和GregorianCalendar类. Date类对象其实定义了精确到毫秒的时刻,从1970年1月 ...

  9. java jps命令

    jps是jdk提供的一个查看当前java进程的小工具, 可以看做是JavaVirtual Machine Process Status Tool的缩写.非常简单实用. 命令格式:jps [option ...

  10. ssh两台机器建立信任关系无密码登陆

    在建立信任关系之前先看看基于公钥.私钥的加密和认证. 私钥签名过程 消息-->[私钥]-->签名-->[公钥]-->认证 私钥数字签名,公钥验证 Alice生成公钥和私钥,并将 ...