Ubuntu15.10

Apache2.4( sudo apt-get install apache2 )

Python3.4( sudo apt-get install apache2 ),  【系统还有个自带的Python2.7】

Django1.9.5( pip3. install django )

mod_wsgi4.5.2(编译安装)


Django项目目录:/var/www/DjangoProject已经建好了mysite工程, python3. manage.py runserver ,浏览器显示It works...正常

.
└── mysite
├── db.sqlite3
├── manage.py
└── mysite
├── __init__.py
├── settings.py
├── urls.py
└── wsgi.py

启动Apache, sudo service apache2 start ,浏览器显示Apache默认网页(var/www/html/index.html),正常


要让Apache能够找到mysite,需要一个中间件:mod_wsgi

首先安装 apache2-dev,(会安装apxs2)

sudo apt-get install apache2-dev

然后可以进行mod_wsgi的安装了

下载源码包,解压,进入目录

./config --with-python=/usr/bin/python3.

sudo make && make install

编译完毕,会在Apache的modules目录下生成mod_wsgi.so,

最后配置Apache能够找到并执行mysite的wsgi.py脚本就OK了

#/etc/apache2/apache2.conf    

WSGIScriptAlias /mysite  /var/www/DjangoProject/mysite/mysite/wsgi.py   #映射/mysite URL到wsgi.py脚本
WSGIPythonPath /var/www/DjangoProject/mysite #使得可以import mysite <Directory /var/www/DjangoProject/mysite/mysite>
<Files wsgi.py >
Require all granted
</Files>
</Directory>
上面安装mod_wsgi时,会自动在/etc/apache2/mods-enabled/目录下生成:wsgi.load和wsgi.conf

如果没有,也可以手动载入模块:LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so
apt-get 方式安装的Apache,配置文件、modules、log等都是分散的,如果不习惯也可以自己编译安装Apache
/etc/apache2/
|-- apache2.conf
  | `-- ports.conf
  |-- mods-enabled
  | |-- *.load
  | `-- *.conf
  |-- conf-enabled
  | `-- *.conf
  |-- sites-enabled
  | `-- *.conf /usr/lib/apache2/modules/*.so /var/log/apache2/*.log

重启Apache,访问127.0.0.1/mysite, 就可以看到Django的It works...了!


其他说明:

如果直接 sudo apt-get install libapache2-mod-wsgi, 生成的mod_wsgi.so貌似是基于默认的python2.7的,所以如果用python3的django创建的wsgi.py,

而python2.7没有安装django,当Apache访问wsgi.py时则会出现ImportError: no module named django.core.wsgi ...

Ubuntu+Django+mod_wsgi+Apache配置过程的更多相关文章

  1. Apache配置过程

    要在一台主机上搭建多个网站,最简单的办法就是给不同的网站分配不一样的端口.下面我以Ubuntu 14.04 + Apache 2.4.7为例说一下在搭建过程中的一些注意事项. 1. 主配置文件是/et ...

  2. 记录jpcap在Ubuntu&Window下的配置过程

    众所周知,Java虽然在TCP/UDP传输方面给予了良好的定义,但是标准库java.net对于网络层以下的控制是无能为力的.Jpcap就是为了处理这一问题而出现的中间件.它调用底层的winpcap/l ...

  3. 3_主流部署方式介绍-Django+mod_wsgi+Apache

    安装apache yum install httpd httpd-devel -y 开机自动重启配置 chkconfig httpd on 重新编译安装python 删除编译记录及文件 修改apach ...

  4. 【Django】Apache上运行单个Django项目,mod_wsgi配置

    1 安装环境 操作系统:Ubuntu 12.04 LTS 32 位(安装在VMware虚拟机中) python 版本: Python 2.7.3 Django版本 >>> djang ...

  5. django+nginx+mod_wsgi+apache网站部署

    软件安装 0.如果对selunix不熟就先把它停掉 vi /etc/selinux/config 改动selinux=diabled 然后重启计算机 1.编译安装python mod_wsgi的安装需 ...

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

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

  7. CentOS 5系统安装Django、Apache 、mod_wsgi部署Python环境教程

    Django,是一款针对Python环境的WEB开发框架,能够帮助我们构架快捷.简单的WEB框架设置,Django框架非常适合开发内容应用环境,所以在本文中,麦子将整理基于Centos系统部署安装Dj ...

  8. CentOS7.4 部署 Django + Python3 + Apache + Mod_wsgi

    安装环境 Remote: CentOS 7.4 x64 (django.example.com) Python: Python3.6.5 Apache: Apache 2.4.6 Mod_wsgi: ...

  9. WAMP(Windows、Apache、MySQL、php)安装配置过程常见问题

    WAMP(Windows.Apache.MySQL.php)安装配置过程 可以参考该网友的总结(总结的不错,鼓掌!!): http://www.cnblogs.com/pharen/archive/2 ...

随机推荐

  1. C#代码篇:代码产生一个csv文件调用有两个核心的坑

    忙活了半天终于可以开工了,a物品到底要不要放进去取决于两个因素,第一是a有4kg重,只有背包大于等于4kg的时候才能装进去(也就是说当i=1,k<4时f[i,k]=0):第二是当背包的重量大于等 ...

  2. java中字符串的操作

    //创建一个字符数组 char[] charArr = {'a','b','c','d','e','f','g'}; //创建一个字符串 String str = new String(charArr ...

  3. 《JS权威指南学习总结--第八章 函数》

    内容要点: 一.JS函数是参数化的:函数的定义会包括一个称为形参的标识符列表,这些参数在函数体中像局部变量一样工作.函数调用会为形参提供实参的值.函数使用它们实参的值来计算返回值,成为该函数调用表达式 ...

  4. Sass与Compress实战:第三章

    概要:这一章将介绍Compass如何使Web设计中最基础的部分——布局变得简单. 本章内容: ● 网格布局的基本原理以及何时使用网格布局 ● 使用Compass时的CSS网格布局框架选项 ● 使用排版 ...

  5. 【LeetCode】462. Minimum Moves to Equal Array Elements II

    Given a non-empty integer array, find the minimum number of moves required to make all array element ...

  6. javascript获取css中的样式值

    <body> <input type="button" id="btn" value="启动"/> <img ...

  7. Java 反射 Class类

    Java 反射 Class类 @author ixenos 摘要:Class类在反射中的地位.构造Class对象的三种方式.Class对象构造对应类型对象的三种方式 Class类在反射中的地位 位于j ...

  8. hdu_5324_Boring Class(cdq分治+树状数组)

    题目链接:hdu_5324_Boring Class 题意: 给出n个二维点对,求LIS长度和编号字典序最小的LIS(x非增,y非减) 题解: dp[i]=max(dp[j]) (i>j,l[i ...

  9. IdentityDbContext类源码

    Microsoft.AspNet.Identity.EntityFramework/IdentityDbContext.cs 源码: 其中涉及到用户信息表.用户角色表的相关操作. using Syst ...

  10. Talking Ben App砸壳记

    需求: 导出Talking Ben app的头文件 实施: 1)准备材料: 越狱IOS设备一部,并安装Talking Ben游戏 IOS设备上安装open SSH IOS设备的/usr/bin 中安装 ...