部署环境: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完美匹配包
希望apache可以部署django项目的话,就必须在apache的modules目录下放入mod_wsgi.so。这个使用于apache2.2和python2.7.
对应apache2.2,2.4;python2.6,2.7,3.3,3.4;win32,64全版本的所有mod_wsgi.so
ubuntu下django+apache+mod_wsgi部署。我的测试成功了!
适用于python3.8的mod_wsgi。
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 ...
使用Apache2.2+mod_wsgi搭建django站点,将apache和mod_wsgi打包提供下载,默认情况下,apache和站点平行放在D盘根目录,如果不会设置,可以看我的博文:http://blog.csdn.net/samed/article/details/50453353,有...
Windows+Apache+mod_wsgi+virualenv搭建django web服务器
windows版mod_wsgi_apache2.2-2.4_python2.6-3.4全版本都有
mod_wsgi的目标是实现一个简单的Apache模块,支持任何Python WSGI的接口的Python应用程序的托管。
Django搭配mod_python Django搭配mod_python
mod_wsgi.so文件,用于apache+mod_wsgi+python+django搭建
mod_wsgi-4.6.5+ap24vc14-cp35-cp35m-win_amd64.whl,适用于Apache2.4-VC14 + Python3.5 + win64
在windows下使用apache+mod_wsgi部署django项目
mod_wsgi.so 标准django连接apache的mod wsgi文件 请参考
GETTING STARTED WITH MOD_WSGI Graham Dumpleton PyCon Australia 26th June 2010
ERP管理软件
使用Apache2.2+mod_wsgi搭建django站点,将apache和mod_wsgi打包提供下载,默认情况下,apache和站点平行放在D盘根目录,如果不会设置,可以看我的博文:http://blog.csdn.net/samed/article/details/50453353,有...
window7配置python3.3 + django + apache24 + mod_wsgi
mod_wsgi-3.3 - Binary Apache Module - (Win32/Apache 2.2/Python 2.7) 注意版本