Ubuuntu10.04上配置Django、Apache、mod_wsgi
1、更新服务
sudo apt-get updatesudo apt-get upgrade
sudo apt-get install apache2 libapache2-mod-wsgi
sudo apt-get install python-setuptoolssudo apt-get install python-pip
sudo pip install django
sudo mkdir /srv/www
sudo nano /etc/hosts
127.0.0.1 djangoserver127.0.0.1 wsgi.djangoserver127.0.0.1 hello.djangoserver
sudo mkdir /srv/www/wsgisudo nano /srv/www/wsgi/app.wsgi
def application(environ, start_response): status = '200 OK' output = 'Hello World!' response_headers = [('Content-type', 'text/plain'), ('Content-Length', str(len(output)))] start_response(status, response_headers) return [output]
sudo nano /etc/apache2/sites-available/wsgi
<VirtualHost *:80> ServerName wsgi.djangoserver DocumentRoot /srv/www/wsgi <Directory /srv/www/wsgi> Order allow,deny Allow from all </Directory> WSGIScriptAlias / /srv/www/wsgi/app.wsgi </VirtualHost>
sudo a2ensite wsgisudo /etc/init.d/apache2 reload
cd /srv/wwwsudo django-admin.py startproject hello
sudo mkdir /srv/www/hello/apachesudo nano /srv/www/hello/apache/django.wsgi
import osimport sys path = '/srv/www'if path not in sys.path: sys.path.insert(0, '/srv/www') os.environ['DJANGO_SETTINGS_MODULE'] = 'hello.settings' import django.core.handlers.wsgiapplication = django.core.handlers.wsgi.WSGIHandler()
sudo nano /etc/apache2/sites-available/hello
<VirtualHost *:80> ServerName hello.djangoserver DocumentRoot /srv/www/hello <Directory /srv/www/hello> Order allow,deny Allow from all </Directory> WSGIDaemonProcess hello.djangoserver processes=2 threads=15 display-name=%{GROUP} WSGIProcessGroup hello.djangoserver WSGIScriptAlias / /srv/www/hello/apache/django.wsgi </VirtualHost>
sudo a2ensite hellosudo /etc/init.d/apache2 reload