• 爱情文章
  • 亲情文章
  • 友情文章
  • 生活随笔
  • 校园文章
  • 经典文章
  • 人生哲理
  • 励志文章
  • 搞笑文章
  • 心情日记
  • 英语文章
  • 范文大全
  • 作文大全
  • 新闻阅读
  • 当前位置: 山茶花美文网 > 励志文章 > 正文

    在Mac,OS上使用mod_wsgi连接Python与Apache服务器|mod wsgi

    时间:2020-04-10来源:山茶花美文网 本文已影响 山茶花美文网手机站

    一、安装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 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

    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() 在浏览器中访问: 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 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

    • 爱情文章
    • 亲情文章
    • 友情文章
    • 随笔
    • 哲理
    • 励志
    • 范文大全