在Mac OS上使用mod

來源:互聯網
上載者:User

   一、安裝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>  
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.