CentOS服务器配置之uwsgi的安装和使用(翻译文档)

关于uwsgi的安装配置参见文档:http://uwsgi.readthedocs.io/en/latest/tutorials/Django_and_nginx.html
现将文档uwsgi部分翻译如下(翻译水平有限,介意细节的读者阅读英文文档也是不错的选择~):

开始设置uWSGI之前

virtualenv

确保您处于需要安装的软件的virtualenv中(稍后将介绍如何安装系统级uwsgi):

virtualenv uwsgi-tutorial
cd uwsgi-tutorial
source bin/activate

Django

在您的virtualenv中安装Django,创建一个新项目,然后cd进入项目目录:

pip install Django
django-admin.py startproject mysite
cd mysite

关于域名和端口的说明

在这份教程中,我们将使用 example.com 作为您的域名。请用您自己的FQDN(Fully Qualified Domain Name,完全合格域名/全称域名)或者IP地址取代(注:如果域名没有配置那么运行时应该使用的是默认的域名,即localhost)。

在整个过程中,我们将像Django runserver默认端口一样使用端口8000进行Web服务器发布。 你可以使用任何你想要的端口,而我选择了这个,确保它不会与任何一个Web服务器可能已经使用的端口冲突。

uWSGI 安装和基本配置

在您的virtualenv中安装Django

pip install uwsgi

当然还有其他方式来安装uWSGI,但是效果都一样。 请记住,您将需要提前安装Python开发包。 在Debian系统中,或Debian派生的系统如Ubuntu中,您需要安装的是pythonX.Y-dev,其中X.Y是您的Python版本。

测试

新建一个名为 test.py 的文件:

# test.py
def application(env, start_response):
    start_response('200 OK', [('Content-Type','text/html')])
    return [b"Hello World"] # python3
    #return ["Hello World"] # python2

运行uWSGI:

uwsgi --http :8000 --wsgi-file test.py

参数含义:
- http :8000: 使用http协议, 端口8000
- wsgi-file test.py: 加载指定文件, test.py
这应该会直接在浏览器8000端口上显示一个“hello world”消息,访问:

http://example.com:8000

验证。如果确实是,那么web服务中以下组件开始工作(注:前文提到过整个web服务过程就像the web client <-> the web server <-> the socket <-> uwsgi <-> Django一样):

the web client <-> uWSGI <-> Python

测试Django项目

现在我们想要用uWSGI以同样的的方式运行Django站点,而不仅仅是 test.py 模块。
如果您之前没有运行过(您的项目),请先确保您的 mysite 项目能真正工作:

python manage.py runserver 0.0.0.0:8000

如果项目能够工作,那么请用uWSGI运行它:

uwsgi --http :8000 --module mysite.wsgi
  • module mysite.wsgi: 加载指定的wsgi模块
    用浏览器访问服务器,如果网站运行成功,就意味着uWSGI能够从您的virtualenv驱动Django应用程序,以下组件正常运行:
the web client <-> uWSGI <-> Django

事实上我们通常不会让浏览器直接与uWSGI直接交互,那是web服务器的工作,它将作为一个中间件(我的理解这里的中间件指的是uWSGI)。

注:根据笔者亲身测试,以上方法是可以成功运行Django项目的,但是各种静态文件(CSS/JS等)会缺失,还需要进行静态文件处理。具体方法可以参见文首的链接文档。事实上我们根本不会直接使用uWSGI来作为服务器(uWSGI可以直接作为服务器),而是使用如Nginx等服务器,把uWSGI作为中间件使之成为Django APP和服务器之间的桥梁。
未完待续。。。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值