欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


新浪微博登录的时候为什么要输入验证码?
如何解决打开PDF提示正在准备再循环的问题
把WinPE隐藏起来的实现方式
Windows系统下使用flup搭建Nginx和Python环境的方法
在Windows系统上搭建Nginx+Python+MySQL环境的教程
126邮箱如何保存邮件
怎么设置代理服务器
苹果Macbook Pro分辨率怎么调想把屏幕上的字体显示变大小
电脑分辨率调不了怎么办
如何设置BIOS密码教程
在Mac OS上使用mod_wsgi连接Python与Apache服务器
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   一、安装mod_wsgi 3.4:

  ?

1
2
3
./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配置文件:

  ?

1
2
LoadModule wsgi_module modules/mod_wsgi.so
Include conf/extra/httpd-vhosts.conf

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

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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

  ?

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

  或者使用web.py框架:

  ?

1
2
3
4
5
6
7
8
9
10
11
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文件:

  ?

1
2
3
DEBUG = True
TEMPLATE_DEBUG = False
ALLOWED_HOSTS = ['localhost']

  2.修改项目中的wsgi.py,这个是建项目的时候就自带创建的,跟setting.py在同一目录,我傻傻的自己创建好多次,后来才发现文件位置不对,悲剧了。

  ?

1
2
3
4
#/Library/WebServer/Documents是apache中DocumentRoot位置
#votebing是我建的项目
import sys
sys.path.append('/Library/WebServer/Documents/votebing')

  3.修改apache安装目录中的httpd.conf,我的是在/etc/apache2/httpd.conf

  ?

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#载入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>  

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站