一、安装mod_wsgi 3.4:
./configure --with-apxs=/Users/levin/dev/apache2.2.27/bin/apxs --with-python=/usr/bin/python make make install
编辑httpd.conf使Apache导入模块mod_wsgi.so以及引入vhost配置文件:
Listen 8001 <VirtualHost *:8001> WsgiScriptAlias / /Users/levin/dev/py/webapp/app.py/ Alias /assets /Users/levin/dev/py/webapp/static/ AddType text/html .py <Directory /Users/levin/dev/py/webapp/> Order deny,allow Allow from all SetoutputFilter DEFLATE #开启gzip SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary #图片不开启gzip SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|rar)$ no-gzip dont-vary #压缩包不开启gzip SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary AddOutputFilterByType DEFLATE text/* AddOutputFilterByType DEFLATE application/javascript application/x-javascript application/xml AddOutputFilterByType DEFLATE application/x-httpd-PHP </Directory> </VirtualHost>
先写个测试脚本app.py
def application(environ,start_response): start_response('200 OK',[('Content-Type','text/html')]) return ['Hello,world.']
或者使用web.py框架:
import web urls = ( '/.*','hello',) class hello: def GET(self): return "Hello,world." application = web.application(urls,globals()).wsgifunc()
在浏览器中访问: http://localhost:8001/,看到Hello,world.就算安装成功了。
二、Django使用中可能遇到的麻烦解决:
1.修改setting.py文件:
DEBUG = True TEMPLATE_DEBUG = False ALLOWED_HOSTS = ['localhost']
2.修改项目中的wsgi.py,这个是建项目的时候就自带创建的,跟setting.py在同一目录,我傻傻的自己创建好多次,后来才发现文件位置不对,悲剧了。
#/Library/WebServer/Documents是apache中DocumentRoot位置 #Votebing是我建的项目 import sys sys.path.append('/Library/WebServer/Documents/Votebing')
3.修改apache安装目录中的httpd.conf,我的是在/etc/apache2/httpd.conf
#载入mod_wsgi LoadModule wsgi_module /usr/libexec/apache2/mod_wsgi.so WsgiScriptAlias /Votebing /Library/WebServer/Documents/Votebing/Votebing/wsgi.py WsgiPythonPath /Library/WebServer/Documents <Directory /Library/WebServer/Documents/Votebing/> <Files wsgi.py> Order deny,allow Allow from all </Files> </Directory> Alias /media/ /Library/WebServer/Documents/Votebing/media/ Alias /static/ /Library/WebServer/Documents/Votebing/static/ <Directory /Library/WebServer/Documents/Votebing/static> Allow from all </Directory> <Directory /Library/WebServer/Documents/Votebing/media> Allow from all </Directory>
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。