环境:

debian8

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

django1.10

python3.4

默认apache2已经安装

Django项目路径 /var/www/mysite

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

首先安装MOD_WSGI

apt-get install libapache2-mod-wsgi-py3   #python3

apt-get install libapache2-mod-wsgi         #python2

创建django项目

cd /var/www

django-admin startproject mysite

cd mysite

mkdir static

cp -R /usr/local/lib/python3./dist-packages/django/contrib/admin/static/* ./static/   #复制后台样式文件到项目目录

创建虚拟主机配置文件

cd /etc/apache2/sites-enabled/

cp -default.conf -default.conf

nano -default.conf
<VirtualHost *:>   ServerAdmin webmaster@localhost
  DocumentRoot /var/www/mysite   ErrorLog ${APACHE_LOG_DIR}/error.log
  CustomLog ${APACHE_LOG_DIR}/access.log combined   # 存放用户上传图片等文件的位置
  Alias /media/ /var/www/mysite/media/ # 静态文件(js/css/images)的存放位置
Alias /static/ /var/www/mysite/static/ # 允许通过网络获取static的内容
<Directory /var/www/mysite/static/>
Require all granted
</Directory> # 最重要的!通过wsgi.py让Apache识别这是一个Django工程,别漏掉前边的 /
WSGIScriptAlias / /var/www/mysite/mysite/wsgi.py
# wsgi.py文件的父级目录
<Directory /var/www/mysite/mysite/>
<Files wsgi.py>
Require all granted
</Files>
</Directory> </VirtualHost> # vim: syntax=apache ts= sw= sts= sr noet

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

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

LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so-3.4   #python3

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. XCode修改公司名称和作者名称

    新建的文件最上方都会有一段类似如下的版权声明 // //  ViewController.m //  CBDemoProject001 // //  Created by CB on 16/3/17. ...

  2. 5.String

    一.古罗马皇帝凯撒在打仗时曾经使用过一种方法加密军事情报.请编写一个程序,使用上述算法加密或解密用户输入的英文字串. 设计思想:先提示用户进行的操作是加密还是解密,用户输入一个字符串,加密时将前23个 ...

  3. Unbalanced calls to begin/end appearance transitions for **

    在自定义UITabBarController中点击视图跳转的时候,有可能就出现这个问题, 解决方法就是在自定义的UITabBarController中的视图显示消失通知方法中添加如下方法: - (vo ...

  4. JDK动态代理与CGLib动态代理

    1.JDK动态代理 JDK1.3以后java提供了动态代理技术,允许开发者在运行期创建接口的代理实例,动态代理是实现AOP的绝好底层技术. JDK的动态代理主要涉及到java.lang.reflect ...

  5. JS 跑马灯

    利用jquery 来实现图片切换.文字转换移动的工具. MSClass 连接 http://www.popub.net/script/MSClass.html Mark 用

  6. UART接口基本知识

    Universal asynchronous transciever即同一异步收发器,也就是我们平时所说的串口,是一种最简单,最基本的通信接口. 通信接口按照不同的标准有不同的分类,常见的有同步或异步 ...

  7. android studio 2.2.2下fragment的创建和跳转

    一,首先,Fragment是android应用中十分重要的一个功能,十分轻量化,也类似于activity一样,是一个个布局,可以相互跳转和传递参数.但是,它运行起来十分流畅,而且易于管理,下面是在学习 ...

  8. Spring中Bean的生命周期方法

    Bean的生命周期方法 src\dayday\Car.java package dayday;import com.sun.org.apache.xpath.internal.SourceTree;i ...

  9. html学习心得

    注释:浏览器会自动地在段落的前后添加空行.(<p> 是块级元素) 提示:使用空的段落标记 <p></p> 去插入一个空行是个坏习惯.用 <br /> 标 ...

  10. 第二章:搭建Android开发环境

    通过对本章节内容的阅读,了解了Android底层开发所需要的各种开发工具,以及在Linux环境下怎样搭建Android底层开发环境,在Linux系统上开发Android应用程序,需要安装Linux版本 ...