uWSGI其二:安装与测试

$ pip install uwsgi
$ /export/servers/python/2.7.12/bin/uwsgi /usr/local/bin
$ pip install django
# /export/servers/python/2.7.12/bin/django-admin /usr/local/bin
# /export/servers/python/2.7.12/bin/django-admin.py /usr/local/bin
# su - admin
$ django-admin startproject /export/App/mypro
$ cd /export/App/mypro

Django的目录结构如下:
manage.py  mypro

$ cd /export/App/mypro/mypro

mypro应用的目录结构如下:

__init__.py  settings.py  urls.py  wsgi.py

在Django目录下编写test.py,目录是/export/App/mypro/test.py

def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return "Hello World"
$ uwsgi --http :8001 --wsgi-file /export/App/mypro/test.py

该进程会在前台运行显示,可使用Ctrl + C 结束进程,访问http://172.22.146.81:8001/返回结果:Hello World,说明uwsgi安装成功
使用Django项目启动是否运行正常

$ vim /export/App/mypro/mypro/settings.py
ALLOWED_HOSTS = ['*']
$ python /export/App/mypro/manage.py runserver 0.0.0.0:8002
...

说明Django项目启动也没问题
连接Django和uwsgi
django_wsgi.py文件,将其放在与文件manage.py同一个目录下.我的放在/export/App/mypro/下:

#!/usr/bin/env python
# coding: utf-8

import os
import sys

# 将系统的编码设置为UTF8
reload(sys)
sys.setdefaultencoding('utf8')

os.environ.setdefault("DJANGO_SETTINGS_MODULE", "mypro.settings")

from django.core.wsgi import get_wsgi_application
application = get_wsgi_application()

注意事项:
os.environ.setdefault.比如我的项目为mypro,则语句应该是os.environ.setdefault("DJANGO_SETTINGS_MODULE","mypro.settings")

$ uwsgi --http :8000 --chdir /export/App/mypro/ --module django_wsgi &

浏览器里访问http://172.22.146.81:8000/
成功显示Django It Works!页面,这样就表示经过uwsgi传递所有的请求给Django程序mypro了.介绍完了如何把uwsgi与Django连接起来,在下一篇将继续介绍如何将uwsgi与Nginx连接.

原文地址:https://www.cnblogs.com/1qaz/p/7568386.html