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. ORACLE ORDER BY用法总结

    order by后面的形式却比较新颖(对于我来说哦),以前从来没看过这种用法,就想记下来,正好总结一下ORDER BY的知识. 1.ORDER BY 中关于NULL的处理 缺省处理,Oracle在Or ...

  2. Qt事件和事件循环

    在处理QT循环事件的时候遇到了问题,查了半天资料都没弄明白问题出在哪,后来找大牛同事问了一下,同事就给我写了QCoreApplication::processEvent()这个函数,好啦,终于搞定了, ...

  3. JavaScript DOM编程艺术-学习笔记(第八章、第九章)

    第八章 1.小知识点: ①某些浏览器要根据DOCTYPE 来决定页面的呈现模式(标准模式 / 怪异模式--也称兼容模式): 兼容模式意味着浏览器要模仿老一辈的浏览器的怪异行为,来让老站点得到运行,并让 ...

  4. Scala学习---数组

    1.编写一段代码,将a设置为一个n个随机整数的数组,要求随机数介于0(包含)和n(不包含)之间 /** * Created by vito on 2017/1/11. */ object ex1 { ...

  5. Simple python reverse shell

    import base64,sys; import socket,struct s=socket.socket(2,socket.SOCK_STREAM) s.connect(('Attack's I ...

  6. js--面向对象继承

    Object.create()方法可以传入一个原型对象,并创建一个基于该原型的新对象,但是新对象什么属性都没有. // 原型对象: var Student = { name: 'Robot', hei ...

  7. HDU 5718 Oracle(高精度)

    Time Limit:4000MS     Memory Limit:262144KB     64bit IO Format:%I64d & %I64u Description There ...

  8. 第五、六章:图像&链接

    图像有很多存储格式:JPEG.png.gif等,它们的文件大小也不同,使用的图片类型对于页面响应速度有不同的要求.下面就会简单阐述不同的格式的图片的特点. 1.JPEG格式 JPEG格式适用于彩色照片 ...

  9. php 导出 Excel 报错 exception 'PHPExcel_Calculation_Exception' with message

    exception 'PHPExcel_Calculation_Exception' with message '粉丝数据!C2679 -> Formula Error: Operator '= ...

  10. 3DTouch--2

    苹果太贱了! 3D Touch 只能在真机上面试,模拟器没办法玩! ------------- 描述有点粗燥.....有6S 在手上玩得童鞋会更加清楚,只有玩过才更加体验到. 首先 有几个要知道的手势 ...