在Mac OS上使用mod_wsgi连接Python与Apache服务器

一、安装mod_wsgi 3.4:

./configure --with-apxs=/Users/levin/dev/apache2.2.27/bin/apxs --with-python=/usr/bin/pythonmakemake install

登录后复制

编辑httpd.conf使Apache导入模块mod_wsgi.so以及引入vhost配置文件:

LoadModule wsgi_module modules/mod_wsgi.soInclude conf/extra/httpd-vhosts.conf

登录后复制编辑extra/httpd-vhosts.conf新建项目并增加gzip压缩python输出的文本:

Listen 8001  WSGIScriptAlias / /Users/levin/dev/py/webapp/app.py/  Alias /assets /Users/levin/dev/py/webapp/static/  AddType text/html .py       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  

登录后复制

先写个测试脚本app.py

def application(environ, start_response):  start_response('200 OK', [('Content-Type', 'text/html')])  return ['Hello, world.']

登录后复制

或者使用web.py框架:

import weburls = (  '/.*', 'hello',)class hello:  def GET(self):    return "Hello, world."application = web.application(urls, globals()).wsgifunc()

登录后复制

在浏览器中访问: http://localhost:8001/,看到Hello, world.就算安装成功了。

立即学习“Python免费学习笔记(深入)”;

二、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   Order deny,allow Allow from all  Alias /media/ /Library/WebServer/Documents/votebing/media/ Alias /static/ /Library/WebServer/Documents/votebing/static/   Allow from all  Allow from all 

登录后复制

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2535170.html

(0)
上一篇 2025年3月5日 22:23:04
下一篇 2025年3月5日 22:23:18

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论