`
zl4393753
  • 浏览: 340088 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

Python Django mod_wsgi Windows 部署过程 备忘

 
阅读更多
部署环境:Windows2003Server

1. 安装Apache 2.2

2. 安装PYTHON 2.7.4
注意把PYTHON的安装目录添加到环境变量,否则命令行下不支持 python

3. 安装DJANGO
解压到C盘,进入django目录,执行命令
python setup.py install


4. 下载mod_wsgi.so,复制粘贴到APACHE安装目录 modules目录

5. 配置httpd.conf 添加


Listen 80
#必须添加这个端口的监听 否则apache不会启动这个端口
Listen 8181

#加载 mod_wsgi 
LoadModule wsgi_module modules/mod_wsgi.so

####### PHP需要用到的 #############
#加载 mod_fcgid  因为我安装的是 php vc9
LoadModule fcgid_module modules/mod_fcgid.so
AddHandler fcgid-script .fcgi .php
#php.ini的存放目录
FcgidInitialEnv PHPRC "C:/php"
# 设置PHP_FCGI_MAX_REQUESTS大于或等于FcgidMaxRequestsPerProcess,防止php-cgi进程在处理完所有请求前退出
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 1000
#php-cgi每个进程的最大请求数
FcgidMaxRequestsPerProcess 1000
#php-cgi最大的进程数
FcgidMaxProcesses 3
#最大执行时间
FcgidIOTimeout 120
FcgidIdleTimeout 120
#php-cgi的路径
FcgidWrapper "C:/php/php-cgi.exe" .php
AddType application/x-httpd-php .php .html .htm
####### PHP需要用到的 #############


<VirtualHost *:8181> 
    ServerName 服务器名称
    ServerAlias 服务器名称:端口
    DocumentRoot E:/PYTHON/infimob/src

    WSGIScriptAlias / E:/PYTHON/infimob/wsgi/infimob.wsgi 

    Alias /robots.txt E:/PYTHON/infimob/src/infimob/static/robots.txt  
    Alias /favicon.ico E:/PYTHON/infimob/src/infimob/static/favicon.ico
    Alias /media/ E:/PYTHON/infimob/src/infimob/media/

#静态文件不要用mod_wsgi Serve,在DJANGO里配置
#    Alias /static/ E:/PYTHON/infimob/src/infimob/static/
    <Directory E:/PYTHON/infimob/src/infimob/static>  
    Order deny,allow  
    Allow from all  
    </Directory>  
  
    <Directory E:/PYTHON/infimob/src/infimob/media>  
    Order deny,allow  
    Allow from all  
    </Directory>

    <Directory "E:/PYTHON/infimob/src"> 
       Order Deny,Allow 
       Allow from all 
    </Directory>

    <Directory "E:/PYTHON/infimob/wsgi"> 
       Order Deny,Allow 
       Allow from all 
    </Directory>

    #跟apache默认的日志分离
    ErrorLog C:/Apache2.2/logs/pythonerror.log

    # Possible values include: debug, info, notice, warn, error, crit,
    # alert, emerg.
    LogLevel warn

    CustomLog C:/Apache2.2/logs/pythonaccess.log combined

</VirtualHost>



6. 配置Python工程
拷贝整个工程源码到合适的目录,在工程目录下创建目录wsgi,在该目录下新建infimob.wsgi(工程名称.wsgi),内容如下:
# complete_project.wsgi is configured to live in projects/complete_project/deploy. 
# If you move this file you need to reconfigure the paths below.

import os, sys
sys.path.append('E:/PYTHON/infimob/src')
os.environ['DJANGO_SETTINGS_MODULE'] = 'infimob.settings'

import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()


更改工程settings.py
DEBUG = TEMPLATE_DEBUG = False

#用来接收报错信息
ADMINS = (
    ('Neil Cheung', 'address@gmail.com'),
)

#使用GMAIL服务器发送邮件
EMAIL_HOST = 'smtp.gmail.com'
EMAIL_HOST_USER = 'address@gmail.com'
EMAIL_HOST_PASSWORD = 'password'
EMAIL_PORT = 587
EMAIL_USE_TLS = True

#一定要配置好这个,否则等着500吧
ALLOWED_HOSTS = ['localhost','127.0.0.1','210.209.124.131']



重启Apache即可

DJANGO 解码出错 UnicodeDecodeError  解决办法:

在python的Lib\site-packages文件夹下新建一个sitecustomize.py,内容为

# encoding=utf8    
import sys    
    
reload(sys)    
sys.setdefaultencoding('utf8')   


生产环境配置过程中遇到3个头疼的问题,记录如下:
1. Apache启动后,http://localhost:8181/admin直接500
原因:settings.py文件里没有配置 ALLOWED_HOSTS,这是一个安全选项
解决办法:
#一定要配置好这个,否则等着500吧
ALLOWED_HOSTS = ['localhost','127.0.0.1','210.209.124.131']


2. 访问路径最后必须要添加斜杠(/),否则就报500
原因:默认情况下是不需要添加斜杠的,APPEND_SLASH会自动补,原因是 urls.py 文件里添加了多余的配置
解决办法:从urls.py 入手检查。。去掉多余的,不知道用途的配置

3. django TinyMce弹出框空白,然后自动下载弹出的页面
原因:Apache httpd.conf配置文件里配置 mod_wsgi的时候配置了serve 静态文件的代码
解决办法:去掉server静态文件的代码即可
#静态文件不要用mod_wsgi Serve,在DJANGO里配置
#    Alias /static/ E:/PYTHON/infimob/src/infimob/static/
#    <Directory E:/PYTHON/infimob/src/infimob/static>  
#   Order deny,allow  
#    Allow from all  
#    </Directory>  




分享到:
评论

相关推荐

    django+apache+mod_wsgi完美匹配包

    而mod_wsgi则是Apache的一个模块,用于在Apache服务器上运行Python Web应用程序,如Django。这个完美匹配包旨在帮助用户轻松地在Apache服务器上部署Django项目。 **Django框架** Django的核心特性包括MVC(模型-...

    mod_wsgi.so全版本下载

    总结,这个压缩包提供了不同Apache和Python版本,以及Windows 32位和64位系统的`mod_wsgi.so`模块,旨在帮助用户根据其环境选择合适版本,确保顺利地在Apache服务器上部署Python应用,特别是Django应用。

    windows_mod_wsgi_apache2.2-2.4_python2.6-3.4全版本都有

    标题和描述提及的是"windows_mod_wsgi_apache2.2-2.4_python2.6-3.4全版本都有",这表明这是一个针对Windows操作系统的mod_wsgi模块的集合,该模块是为Apache Web服务器设计的,支持Apache 2.2到2.4版本,并且兼容...

    mod_wsgi-windows

    总之,`mod_wsgi-windows`为在Windows环境中使用Apache和Django提供了便利,它简化了部署过程,提升了Web应用的性能。通过理解其工作原理和正确配置,你可以更好地管理和优化你的Python Web项目。

    apache2.2和python2.7的mod_wsgi

    Apache 2.2 和 Python 2.7 之间的交互...总的来说,Apache2.2 和 Python2.7 通过 mod_wsgi 提供了一个高效、稳定的方式来部署 Django 项目,让开发者可以充分利用 Apache 的性能和稳定性,同时享受 Django 的强大功能。

    mod_wsgi python开发

    `mod_wsgi` 是一款用于在Apache Web服务器上部署和运行Python Web应用程序的模块,它实现了WSGI(Web Server Gateway Interface)标准。WSGI是Python Web应用的通用接口,让Web服务器与Web应用之间能进行通信。通过`...

    Apache安装包与mod_wsgi库

    在Windows环境下,使用Apache和mod_wsgi来部署Django项目是一种常见的实践,因为它们提供了稳定性和灵活性。以下是对这个主题的详细解释。 1. **Apache**:Apache HTTP Server是一个开源的Web服务器软件,支持多种...

    mod_wsgi 编译后的文件

    mod_wsgi是Apache与Python Web应用之间的桥梁,通过编译后的文件,用户可以在Windows系统上部署和运行Python应用。结合mapproxy,可以构建高性能的地理信息系统。安装和配置过程中,需要了解Apache服务器的配置,...

    mod_wsgi-windows-4.4.12

    通过使用mod_wsgi,开发者可以在不改变Apache配置的情况下部署和管理Python应用,同时享受到Apache的高性能和稳定性。 **Windows平台上的mod_wsgi安装** 在Windows平台上安装mod_wsgi,首先要确保已经安装了Apache...

    mod_wsgi3.5(按照apache版本,python版本,系统版本选择使用)

    这意味着用户需要确保他们下载和使用的mod_wsgi版本与他们的Apache服务器和Python环境相匹配,这样才能成功部署基于Python(如Django)的Web应用程序。 **知识点详解** 1. **mod_wsgi**: mod_wsgi是Apache的一个...

    mod_wsgi-4.9.0-cp310-cp310-win_amd64

    mod_wsgi-4.9.0-cp310-cp310-win_amd64

    Windows+Apache+mod_wsgi+virtualenv搭建django

    - 创建 Apache 的自定义配置文件 `apache_django_wsgi.conf`,设置静态资源和 Django 应用的别名。 - 创建 `django.wsgi` 文件,用于处理来自 Apache 的请求并将它们传递给 Django 应用。 - 如果使用 virtualenv...

    mod_wsgi4.2.7

    `mod_wsgi`与Django、Flask等主流Python Web框架兼容良好。只需确保应用遵循WSGI协议,即可轻松部署。 总结,`mod_wsgi`是一个强大且灵活的工具,用于在Apache上部署Python Web应用。通过理解其核心概念、配置方法...

    mod_wsgi-3.5

    **Apache + Mod_WSGI + Python + Django 搭建指南** `mod_wsgi` 是一个流行的Apache服务器模块,用于托管Python Web应用程序,特别是与Django框架一起使用时。这个`mod_wsgi-3.5`版本是针对特定Apache版本和Python...

    mod_wsgi-4.7.1+ap24vc15-cp38-cp38-win_amd64.whl

    适用于python3.8的mod_wsgi。

    mod_wsgi-3.3 - Binary Apache Module - (Win32/Apache 2.2/Python 2.7)

    综上所述,`mod_wsgi-3.3`为Apache和Python 2.7在Windows环境下提供了高效、稳定的Web服务接口,尤其适用于Django应用的部署。正确配置和使用`mod_wsgi`能够提升Web应用的性能,确保系统的可靠性和安全性。

    mod_wsgi-4.5.24

    **Apache mod_wsgi 4.5.24:Python Web 应用的高效部署工具** Apache mod_wsgi 是一个流行的Apache服务器模块,用于托管和运行Python Web应用程序。它提供了将Python应用与Apache HTTP服务器集成的高效且可靠的解决...

    ubuntu下django+apache+mod_wsgi部署

    ubuntu下django+apache+mod_wsgi部署。我的测试成功了!

    django+apache+mod_wsgi.rar

    标题 "django+apache+mod_wsgi.rar" 暗示了这个压缩包是关于使用Django框架与Apache web服务器结合,并通过mod_wsgi模块在Windows 64位平台上部署Python应用的配置。描述中提到的"python3.5+apache2.4vc14+mod_wsgi_...

    mod_wsgi-win32-ap22py31-3.3.so.7z

    django python2 用apache部署的时候,采用mod_wsgi来启动。 What Is mod_wsgi? The aim of mod_wsgi is to implement a simple to use Apache module which can host any Python application which supports the ...

Global site tag (gtag.js) - Google Analytics