安装
uWSGI 的安装很简单:
现在我们试下将 Django 跑起来。我们先在 virtualenv 创建一个
Django Project:
3
|
(nowamagic_venv)[[email protected]
nowamagic_venv]#
django-admin.py startproject nowamagic_pj
|
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,执行以下命令:
3
|
(nowamagic_venv)[[email protected]
nowamagic_venv]#
uwsgi --http :8001 --wsgi-file /root/nowamagic_venv/nowamagic_pj/test.py
|
访问网页 http://115.28.0.89:8001/,OK,显示 Hello World,说明 uwsgi 安装成功。
测试你的 Django 项目
前面我们用 django-admin.py startproject nowamagic_pj 创建了一个项目,现在我们用 Django 自带的 Web 服务器看看我们的项目有没出问题。还是进入我们虚拟环境:
3
|
(nowamagic_venv)[[email protected]
nowamagic_venv]#
python2.7 /root/nowamagic_venv/nowamagic_pj/manage.py runserver 0.0.0.0:8002
|
执行这个命令报错:No module named django.core.management,原因应该是装了多个版本的Python导致的。命令指定文件路径就行,丑是丑些了:
1
|
(nowamagic_venv)[[email protected]
nowamagic_venv]#
/usr/local/bin/python2.7 /root/nowamagic_venv/nowamagic_pj/manage.py runserver 0.0.0.0:8002
|
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,进入虚拟环境执行指令:
3
|
(nowamagic_venv)[[email protected]
nowamagic_venv]#
uwsgi --http :8000 --chdir /root/nowamagic_venv/nowamagic_pj/ --module django_wsgi
|
成功显示 Django It Works 页面。
这样,你就可以在浏览器中访问你的Django程序了。所有的请求都是经过uwsgi传递给Django程序的。
这里我们介绍了如何把uwsgi与Django连接起来,在下一篇将继续介绍如何将uwsgi与Nginx连接。