环境:

debian8

apache2.4.10                    #请注意自己的apache版本,不同版本配置文件结构差异很大

django1.10

python3.4

默认apache2已经安装

Django项目路径 /var/www/mysite

---------------------------------------------------------------------------------------------------

首先安装MOD_WSGI

  1. apt-get install libapache2-mod-wsgi-py3 #python3
  2.  
  3. apt-get install libapache2-mod-wsgi #python2

创建django项目

  1. cd /var/www
  2.  
  3. django-admin startproject mysite
  4.  
  5. cd mysite
  6.  
  7. mkdir static
  8.  
  9. cp -R /usr/local/lib/python3./dist-packages/django/contrib/admin/static/* ./static/ #复制后台样式文件到项目目录

创建虚拟主机配置文件

  1. cd /etc/apache2/sites-enabled/
  2.  
  3. cp -default.conf -default.conf
  4.  
  5. nano -default.conf
  6. <VirtualHost *:>
  7.  
  8.   ServerAdmin webmaster@localhost
  9.   DocumentRoot /var/www/mysite
  10.  
  11.   ErrorLog ${APACHE_LOG_DIR}/error.log
  12.   CustomLog ${APACHE_LOG_DIR}/access.log combined
  13.  
  14.   # 存放用户上传图片等文件的位置
  15.   Alias /media/ /var/www/mysite/media/
  16.  
  17. # 静态文件(js/css/images)的存放位置
  18. Alias /static/ /var/www/mysite/static/
  19.  
  20. # 允许通过网络获取static的内容
  21. <Directory /var/www/mysite/static/>
  22. Require all granted
  23. </Directory>
  24.  
  25. # 最重要的!通过wsgi.py让Apache识别这是一个Django工程,别漏掉前边的 /
  26. WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
  27. # wsgi.py文件的父级目录
  28. <Directory /var/www/mysite/mysite/>
  29. <Files wsgi.py>
  30. Require all granted
  31. </Files>
  32. </Directory>
  33.  
  34. </VirtualHost>
  35.  
  36. # vim: syntax=apache ts= sw= sts= sr noet

编辑 /etc/apache2/ports.conf 添加一行 Listen 81   #监听81端口,就是我们新建的虚拟主机

编辑 /etc/apache2/mods-enabled/wsgi.load

  1. LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so-3.4 #python3
  2.  
  3. LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so #python2

编辑 /etc/apache2/mods-enabled/wsgi.conf

添加一行 WSGIPythonPath /var/www/mysite   #项目所在路径

这个时候就差不多了可以  service apache2 start

访问:127.0.0.1:81

It worked!

Congratulations on your first Django-powered page.

访问:127.0.0.1:81/admin 会报错

初始化数据库文件

manage.py migrate

OK!

如果是在虚拟机或远程主机部署别忘了在settings.py中修改ALLOWED_HOSTS = [],添加可访问域名或IP列表

CentOS可以参考http://www.cnblogs.com/starof/p/4685132.html

Apache2 部署 Django的更多相关文章

  1. apache2部署django以及静态文件

    django中的runserver只是一个很简单的web服务器,在开发中是不建议使用的,django在官方中建议是使用apache2等web服务器来配置,并且django会把静态文件交由apache2 ...

  2. CentOS 7下使用Apache2部署Django项目,解决文件名中含有中文报错的问题

    系统版本: CentOS 7.3Apache 2.4 Django 1.11 问题描述 Django项目涉及上传操作,上传文件名称含有中文,若使用runserver启动服务,没有问题!若将Django ...

  3. apache2部署django的错误

    apache的日志例如以下报错: /var/www/my_project/myproject/wsgi.py cannot be loaded as Python module ImportError ...

  4. Apache2.4部署django出现403 Forbidden错误解决办法

    前言:Apache2.4部署django出现403 Forbidden错误最好要结合apache中的错误日志来观察出现何种错误导致出现403错误 下午百度了一下午没找到解决办法,试了n种方法,简直坑爹 ...

  5. Ubuntu16.04 apache2 wsgi 部署django

    在Ubuntu16.04上部署django其实还算简单直观,最重要的问题就是路径设置正确,并且保证版本统一,这个测试是在 Apache/2.4.18 (Ubuntu)  apt-get install ...

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

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

  7. apache部署django记录

    在ubuntu下通过apache部署django 首先需要下载python,django,apache以及wsgi模块 python基本已经自带,我用的是2.7,不是的话可以重新装一个 下载djang ...

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

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

  9. 部署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 ...

随机推荐

  1. jQuery动画连续触发、滞后反复执行解决办法

    jQuery中slideUp .slideDown.animate等动画运用时,如果目标元素是被外部事件驱动, 当鼠标快速地连续触发外部元素事件, 动画会滞后的反复执行,其表现不雅. 则解决办法: 1 ...

  2. EF实体框架数据操作基类(转)

    //----------------------------------------------------------------// Copyright (C) 2013 河南禄恒软件科技有限公司 ...

  3. 有关javascript的性能优化(合理的管理内存)

    使用具备垃圾收集机制的语言编写程序,开发人员一般不必操心内存管理的问题.但是,Javascript在进行内存管理及收集时面临的问题是有点与众不同.其中最主要的一个问题是分配给Web浏览器的可用内存数量 ...

  4. 错误:媒体集有 2 个媒体簇,但只提供了 1 个 sql2005 备份错误。

    错误:媒体集有 2 个媒体簇,但只提供了 1 个 sql2005 2010-10-19 11:44:06|  分类: sql|举报|字号 订阅     ql2005备份的时候,选择备份路径是一方面,但 ...

  5. Linux/Unix 线程同步技术之互斥量(1)

    众所周知,互斥量(mutex)是同步线程对共享资源访问的技术,用来防止下面这种情况:线程A试图访问某个共享资源时,线程B正在对其进行修改,从而造成资源状态不一致.与之相关的一个术语临界区(critic ...

  6. 数据存储之CoreData

    #import "ViewController.h" #import <CoreData/CoreData.h> #import "Person.h" ...

  7. QImage::drawRect 和 fillRect在处理大面积区域时代价高昂

    项目需要生成一张掩码图, 出于操作pixel方便的考虑采用QImage(mono), 但在实现一个类似于 cvZero的操作时发现在图片面积较大时效率很低, 提醒一下 ps: 后来是改变策略, 用偏移 ...

  8. MySQL中DATETIME、DATE和TIMESTAMP类型的区别

    一.TIMESTAMP 显示格式:YYYY-MM-DD HH:MM:SS 时间范围:[ '1970-01-01 00:00:00'到'2037-12-31 23:59:59'] TIMESTAMP D ...

  9. Android添加代码检查权限

    1,首先创建一个项目,然后创建一个类,hello.java public class hello { public static final String PERMISSION_SAY_HELLO = ...

  10. adb -s emulator-5554 install JDKCast-PAP.apk

    multi-emulators direct to install app adb -s emulator-5554 install JDKCast-PAP.apk