安装
uWSGI 的安装很简单:
现在我们试下将 Django 跑起来。我们先在 virtualenv 创建一个 Django Project:
2 | [root@nowamagic nowamagic_venv] |
3 | (nowamagic_venv)[root@nowamagic nowamagic_venv] |
virtualenv 的路径与目录文件如下:
Django Project 的路径与目录文件如下:
测试uwsgi
在你的服务器上写一个test.py:
2 | def application(env, start_response): |
3 | start_response( '200 OK' , [( 'Content-Type' , 'text/html' )]) |
我的 test.py 的路径是 /root/nowamagic_venv/nowamagic_pj/test.py,执行以下命令:
2 | [root@nowamagic nowamagic_venv] |
3 | (nowamagic_venv)[root@nowamagic nowamagic_venv] |
访问网页 http://115.28.0.89:8001/,OK,显示 Hello World,说明 uwsgi 安装成功。
测试你的 Django 项目
前面我们用 django-admin.py startproject nowamagic_pj 创建了一个项目,现在我们用 Django 自带的 Web 服务器看看我们的项目有没出问题。还是进入我们虚拟环境:
2 | [root@nowamagic nowamagic_venv] |
3 | (nowamagic_venv)[root@nowamagic nowamagic_venv] |
执行这个命令报错:No module named django.core.management,原因应该是装了多个版本的Python导致的。命令指定文件路径就行,丑是丑些了:
1 | (nowamagic_venv)[root@nowamagic nowamagic_venv] |
OK,启动 Django 自带的服务器了,我们再访问 http://115.28.0.89:8002/,成功显示:
说明 Djanggo 项目也没问题。
连接Django和uwsgi
最后一步了,我们要把uwsgi与Django连接起来。
编写django_wsgi.py文件,将其放在与文件manage.py同一个目录下。我的放在 /root/nowamagic_venv/nowamagic_pj/ 下:
09 | sys.setdefaultencoding( 'utf8' ) |
11 | os.environ.setdefault( "DJANGO_SETTINGS_MODULE" , "nowamagic_pj.settings" ) |
13 | from django.core.handlers.wsgi import WSGIHandler |
14 | application = WSGIHandler() |
OK,进入虚拟环境执行指令:
2 | [root@nowamagic nowamagic_venv] |
3 | (nowamagic_venv)[root@nowamagic nowamagic_venv] |
成功显示 Django It Works 页面。
这样,你就可以在浏览器中访问你的Django程序了。所有的请求都是经过uwsgi传递给Django程序的。
这里我们介绍了如何把uwsgi与Django连接起来,在下一篇将继续介绍如何将uwsgi与Nginx连接。