入题 分为如下几步

1.安装python

2.安装django

3.安装wsgi,如有问题请参照上一篇 ubuntu 编译安装 mod_wsgi

4.与apache集成这里主要讲这部分

  环境apache 2.4.7 高于此版本适用于此 如果版本不同可以参考此配置,但是出现问题可以尝试其他

  1.在apache的模块里添加wsgi

    我这里是在 /etc/apache2/mods-available添加文件

    wsgi.load 内容如下:

    LoadModule wsgi_module /usr/lib/apache2/modules/mod_wsgi.so

  2.sudo a2enmod wsgi

    此步提示 mod_wsgi 不存在

    网上搜索之得到答案如下:

    执行:sudo apt-get install libapache2-mod-wsgi

    再次执行sudo a2enmod wsgi

    这时候由于我手动新建文件了 会提示是否覆盖选择是就可以了 这个时候在mods-available 时候会增加两个文件wsgi.load 与wsgi.conf

  3.配置wsgi

    

"""
WSGI config for testdjproject project. It exposes the WSGI callable as a module-level variable named ``application``. For more information on this file, see
https://docs.djangoproject.com/en/1.6/howto/deployment/wsgi/
""" import os
import sys
path = '/usr/bin/testdjproject'
if path not in sys.path:
sys.path.append('/usr/bin/testdjproject')
sys.path.append('/usr/bin/testdjproject/testdjproject')
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "testdjproject.settings") from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

这里需要将网站路径添加至系统路径里。可能出现的错误以及疑点如下

      1.No module named testdjproject.settings 这个错误是由于在下文配置的wsgi.py里面没有将路径添加进去 导致找不到这个模块

      2.要在setting.py里添加对127.0.0.1以及localhost的访问如下:

        ALLOWED_HOSTS = ['127.0.0.1','localhost']

      3.为什么这里是 testdj.setting这个与网站名称一样的

      4.路径后面一定要准确 不需要的参数就不要加了

  4.配置apache2

    由于我这个其他网站是在000-default的 为了拿出来 方便排查 新建了django.conf

    内容如下:

    

<VirtualHost *:>
Alias /media/ /usr/bin/testdjproject/media/
<Directory /usr/bin/testdjproject/media/>
#Order deny,allow
#Allow from all
Require all granted
</Directory>
WSGIScriptAlias / /usr/bin/testdjproject/testdjproject/wsgi.py
#WSGIPythonPath /usr/bin/testdjproject/testdjproject
<Directory /usr/bin/testdjproject/testdjproject>
Options FollowSymLinks
#AllowOverride all
### Order deny,allow
### Deny from all
#Order allow,deny
#Allow from all
#Satisfy all
# options -MultiViews
Require all granted
<Files wsgi.py>
Order deny,allow
Allow from all
</Files>
</Directory>
</VirtualHost>

 这里有几个问题 1.如果配置完成之后提示 client denied by server configuration:这时候可能与Require all granted 有关可以自己排查

         2.Invalid command 'WSGIScriptAlias' 提示这个 也就是wsgi模块没有安装正确 请参照上述

         3.WSGIScriptAlias / /usr/bin/testdjproject/testdjproject/wsgi.py 这个文件是新建的在网站根目录下设置即可

         4.注意wsgi.py的权限,如果权限不对也会出错,这时候查看apache2的错误日志就可以 我这里是/var/log/apache2/error.log

  5.重启apache 打开浏览器 就会出现你之前开发好的页面啦至此一切正常。不一定能匹配所有错误,如果有问题请仔细看日志再做。开始也是安装好之后什么都没有,原来是忘记加监听端口了这一步还是不能少  Listen 89

    

ubuntu apache2 wsgi 部署django的更多相关文章

  1. Ubuntu16.04 apache2 wsgi 部署django

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

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

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

  3. Windows + Apache + WSGI 部署Django

    注意Python Apache和mod_wagi的版本要一致哦 1.安装Apache服务器(下载后,解压即可,目录不能有中文) 2.安装mod_wsgi (pip install 它的路径) 3.打开 ...

  4. ubuntu+nginx+uwsgi部署django web项目

    前言 将本地开发的django项目部署至linux上的uwsgi服务器,并配置nginx,完成基于ubuntu+nginx+uwsgi的上线运行.下面整理相关步骤. 服务器配置virtualenv 如 ...

  5. ubuntu 14.04 部署Django项目

    一.购买服务器 推荐 vultr的服务器,还可以_ _ _,链接:传送门 操作系统建议选 ubuntu 14.04 64位 二.购买域名 链接:传送门 三.安装相关软件 # 创建一个叫mu的用户 ro ...

  6. Ubuntu环境下部署Django+uwsgi+nginx总结

    前言 这是我在搭建Django项目时候的过程,拿来总结记录,以备不时之需. 项目采用nginx+uwsgi的搭配方式. 项目依赖包采用requirements.txt文件管理的方式. 本地准备工作 确 ...

  7. ubuntu python apache2 wsgi django框架

    在ubuntu上通过apatch2和wsgi部署django (亲手做过!!!) 一,我的python.django.apatch2版本: python:python -V 2.7.3 django: ...

  8. ubuntu12.04 server + apache2 + wsgi + django1.6 部署

    最近在学Python和Django,想自己部署一个服务器试试 环境:ubuntu12.04 server | apache2 | django1.6 | python2.7 | mod_wsgi 在网 ...

  9. Ubuntu下Apache中部署Django

    环境:ubuntu12.04 server | apache2 | django1.6 | python2.7 | mod_wsgi 1. 安装apache2: sudo apt-get instal ...

随机推荐

  1. php 连接mongodb 增查改删操作

    查询 <?php $m=new MongoClient('mongodb://admin:admin@localhost:27017/admin'); $db=$m->hndb; $cc= ...

  2. pdo文字水印类,验证码类,缩略图类,logo类

    文字水印类 image.class.php <?php /** * webrx.cn qq:7031633 * @author webrx * @copyright copyright (c) ...

  3. ajax执行完成后,再执行下面的代码的解决办法

    一般ajax设置的都是异步的,但是有时候我们有这种需求,就是等ajax执行完成之后,在执行下面的函数. 1设置async:false 在jq中直接设置了ajax是异步的还是同步的 一般如果不写这个,默 ...

  4. Bitmap 的bitmapdata和texture区别

    Texture:纹理类是对不同平台不同的图片资源的封装在HTML5中,资源是一个HTMLElement对象在OpenGL / WebGL中,资源是一个提交GPU后获取的纹理idTexture类封装了这 ...

  5. 【228】◀▶ Excel 函数说明

    官方帮助:Excel 函数(按字母顺序列出) 官方帮助:Excel 函数(按类别列出) 参考:EXCEL常用函数大全 01   N_ELEMENTS 表达式或者变量的元素个数. 02   DEFSYS ...

  6. diocp_tcp_client单元源码与注释

    (* * Unit owner: d10.天地弦 * blog: http://www.cnblogs.com/dksoft * homePage: www.diocp.org * * 2015-02 ...

  7. uiwebview底部黑边解决

    解决方法 设置webview的opaque为no

  8. smarty基本语法

    smarty基本语法: 1.注释:<{* this is a comment *}>,注意左右分隔符的写法,要和自己定义的一致. <{* I am a Smarty comment, ...

  9. 树莓派(raspberry pi)学习4: 更改键盘布局(转)

    树莓派(raspberry pi)用了几次后,发现键盘老是按错,一些字符打不出来或打错 这个问题,折腾我半天.还是把心得分享一下吧 上网查,发现是键盘布局不对,树莓派(raspberry pi)是英国 ...

  10. Java多线程断点下载

    public static class DownloadThread extends Thread{ private int threadId; private int startIndex; pri ...