windows django生产用

mod_wsgi
下载
注意:下载mod_wsgi.so版本需和python和apache匹配

http://www.lfd.uci.edu/~gohlke/pythonlibs/#mod_wsgi

我之前下过一个对应apache22和python2.7的版本,名字mod_wsgi-win32-ap22py27-3.3,这个可以直接用,所以一直用着,网上可以直接搜到。

安装和配置
将mod_wsgi.so放到d:\Program Files\Apache Software Foundation\Apache2.2\modules\ , 并在httpd.conf里添加
LoadModule wsgi_module modules/mod_wsgi.so
httpd.conf的位置在d:\Program Files\Apache Software Foundation\Apache2.2\conf
注意:apache装载wsgi模块,名字可以自定义

配置 httpd.conf
搜索http.conf文件,把"Deny from all" 及 “Require all denied” 等语句全部注释掉:

<Directory />
Options FollowSymLinks
AllowOverride None
Require all denied
Order deny,allow
Deny from all
</Directory>

修改为

<Directory />
Options Indexes FollowSymLinks
AllowOverride None
</Directory>

测试wsgi
添加test.wsgi文件,我放在项目下面的apache文件夹下,这个文件夹是专门用来放跟apache相关的配置的

def application(environ, start_response):  
    status = '200 OK'  
    output = 'Hello World!'  
    response_headers = [('Content-type', 'text/plain'),  
                        ('Content-Length', str(len(output)))]  
    start_response(status, response_headers)  
    return [output]  

在http.conf里面引入这段代码

Include " C:/virtualenv/zakkabag/apache /test.wsgi "  

测试 : http://localhost:8081

注:这儿监听端口是8081

项目配置

项目主目录
在项目目录下面创建一个文件夹apache,添加文件"django.wsgi" & “apache_django_wsgi.conf”

和test.wsgi一样,我们也可以用这个方法引入这段配置

Include " C:/virtualenv/zakkabag/apache/apache_django_wsgi.conf"
注:这些配置文件可直接写在httpd.conf文件里,但我倾向于用专门的文件,这样便于项目维护
apache_django_wsgi.conf

测试项目
WSGIScriptAlias / " C:/virtualenv/zakkabag/apache/test.wsgi"

实际项目

WSGIScriptAlias / " C:/virtualenv/zakkabag/apache/django.wsgi"

<Directory " C:/virtualenv/zakkabag ">

Options FollowSymLinks

AllowOverride None

Order deny,allow

Allow from all

</Directory>
django.wsgi
os.environ['DJANGO_SETTINGS_MODULE'] ="zakkabag.settings"
import django
django.setup()
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()

静态资源

apache_django_wsgi.conf

Alias /static “C:/virtualenv/ zakkabag /static_in_env/static_root”

<Directory " C:/virtualenv/zakkabag/static_in_env ">

Order allow,deny

Allow from all

</Directory>

Django的setting里

Settings.py

STATIC_URL = '/static/'
重启
配置完成之后记得重启apache

问题5 Django: AppRegistryNotReady()

在 django.wsgi, 添加setup()

os.environ['DJANGO_SETTINGS_MODULE'] ="zakkabag.settings"
import django
django.setup()
import django.core.handlers.wsgi
application = django.core.handlers.wsgi.WSGIHandler()
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

gamers

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值