MoinMoin Logo
  • Comments
  • Immutable Page
  • Menu
    • Navigation
    • RecentChanges
    • FindPage
    • Local Site Map
    • Help
    • HelpContents
    • HelpOnMoinWikiSyntax
    • Display
    • Attachments
    • Info
    • Raw Text
    • Print View
    • Edit
    • Load
    • Save
  • Login

Navigation

  • Start
  • Sitemap
Revision 6 as of 2015-03-12 21:34:26
  • Python
  • modwsgi

modwsgi

Python WSGI adapter module for Apache.

http://code.google.com/p/modwsgi/

Ubuntu installation 12.04

  • apt-get install libapache2-mod-wsgi
  • service apache2 restart

Create file /var/www/test.wsgi

   1 def application(environ, start_response):
   2     status = '200 OK'
   3     output = 'Hello World! Mod WSGI running'
   4 
   5     response_headers = [('Content-type', 'text/plain'),
   6                         ('Content-Length', str(len(output)))]
   7     start_response(status, response_headers)
   8 
   9     return [output]

Add to file /etc/apache2/sites-available/default inside the Virtual host the following

WSGIScriptAlias /test /var/www/test.wsgi

Slackware 14 installation

  • wget http://code.google.com/p/modwsgi/downloads/detail?name=mod_wsgi-3.4.tar.gz&can=1&q=

  • cp mod_wsgi-3.4.tar.gz /tmp
  • cd /tmp
  • tar xvzf mod_wsgi-3.4.tar.gz
  • cd mod_wsgi-3.4
  • ./configure
  • make clean
  • make
  • make install
  • ldconfig
  • ls /usr/lib/httpd/modules #should appear file mod_wsgi.so
  • touch /etc/httpd/mod_wsgi.conf

Edit file /etc/httpd/httpd.conf and add

Include /etc/httpd/mod_wsgi.conf
Include /etc/httpd/vhosts.conf

Edit file /etc/httpd/mod_wsgi.conf and add

LoadModule wsgi_module /usr/lib/httpd/modules/mod_wsgi.so

Restart apache with

  • /etc/rc.d/rc.httpd restart

Check if mod_wsgi module is loaded with

  • tail /var/log/httpd/error_log | grep wsgi
  • Should appear mod_wsgi/3.4

Create test wsgi app

Create file /var/www/htdocs/test/test.wsgi

   1 def application(environ, start_response):
   2     start_response('200 OK', [('Content-Type', 'text/html')])
   3     yield '<html><body><h1>Test WSGI</h1></body></html>'

Create virtual host in /etc/httpd/vhosts.conf

   1 <VirtualHost *:80>
   2     ServerName localhosttestwsgi
   3     DocumentRoot "/var/www/htdocs/test"
   4     WSGIScriptAlias / /var/www/htdocs/test/test.wsgi
   5     <Directory "/var/www/htdocs/test">
   6       Require local
   7     </Directory>
   8 </VirtualHost>

Add host to /etc/hosts

127.0.0.1 localhosttestwsgi

Restart apache

  • /etc/rc.d/rc.httpd restart

Open url http://localhosttestwsgi/ and see if the string Test WSGI appears.

  • MoinMoin Powered
  • Python Powered
  • GPL licensed
  • Valid HTML 4.01