uWsgi的安装与测试

来源:互联网 发布:网站代备案淘宝 编辑:程序博客网 时间:2024/06/05 09:13

安装

uWSGI 的安装很简单:

1pip install uwsgi

现在我们试下将 Django 跑起来。我们先在 virtualenv 创建一个 Django Project:

1[root@nowamagic ~]# cd nowamagic_venv
2[root@nowamagic nowamagic_venv]# source bin/activate
3(nowamagic_venv)[root@nowamagic nowamagic_venv]# django-admin.py startproject nowamagic_pj

virtualenv 的路径与目录文件如下:

Django Project 的路径与目录文件如下:

测试uwsgi

在你的服务器上写一个test.py:

1# test.py
2def application(env, start_response):
3    start_response('200 OK', [('Content-Type','text/html')])
4    return "Hello World"

我的 test.py 的路径是 /root/nowamagic_venv/nowamagic_pj/test.py,执行以下命令:

1[root@nowamagic ~]# cd nowamagic_venv
2[root@nowamagic nowamagic_venv]# source bin/activate
3(nowamagic_venv)[root@nowamagic 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 服务器看看我们的项目有没出问题。还是进入我们虚拟环境:

1[root@nowamagic ~]# cd nowamagic_venv
2[root@nowamagic nowamagic_venv]# source bin/activate
3(nowamagic_venv)[root@nowamagic 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)[root@nowamagic 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/ 下:

01#!/usr/bin/env python
02# coding: utf-8
03 
04import os
05import sys
06 
07# 将系统的编码设置为UTF8
08reload(sys)
09sys.setdefaultencoding('utf8')
10 
11os.environ.setdefault("DJANGO_SETTINGS_MODULE""nowamagic_pj.settings")
12 
13from django.core.handlers.wsgi import WSGIHandler
14application = WSGIHandler()
  • 注意不要直接 copy,有个地方要改:注意到语句os.environ.setdefault。比如我的项目为nowamagic_pj,则语句应该是 os.environ.setdefault("DJANGO_SETTINGS_MODULE", "nowamagic_pj.settings")

OK,进入虚拟环境执行指令:

1[root@nowamagic ~]# cd nowamagic_venv
2[root@nowamagic nowamagic_venv]# source bin/activate
3(nowamagic_venv)[root@nowamagic nowamagic_venv]# uwsgi --http :8000 --chdir /root/nowamagic_venv/nowamagic_pj/ --module django_wsgi

成功显示 Django It Works 页面。

这样,你就可以在浏览器中访问你的Django程序了。所有的请求都是经过uwsgi传递给Django程序的。

这里我们介绍了如何把uwsgi与Django连接起来,在下一篇将继续介绍如何将uwsgi与Nginx连接。

原创粉丝点击