正文

使用web服务器uwsgi运行python


[前言]


uWSGI是一个 Web 服务器,它是一个用 C 语言编写的 Web 应用程序容器,支持运行 Python、Ruby、Perl 等多种编程语言。uWSGI 服务器可以作为一个独立的应用服务器,也可以与其他 Web 服务器(如 Nginx、Apache)一起使用,通过 WSGI 协议与 Python 应用程序通信

[系统]


Linux 2.6/3.x

FreeBSD >= 7

NetBSD

OpenBSD

DragonFlyBSD

Windows Cygwin

Mac OSX

Solaris >= 10

NexentaOS

SmartOS

OpenSolaris

OpenIndiana

OmniOS

Debian/kFreeBSD

GNU/Hurd

[版本]


v2.0

[安装]


1、uWSGI是一个(大的)C应用,因此,你需要一个C编译器 (例如gcc或者clang),

# 基于centos平台,安装gcc
sudo yum install gcc
# 基于Debian平台,安装gcc
sudo apt-get install build-essential python-dev

2、配合python使用,使用pip安装uwsgi即可

# 安装命令
pip install uwsgi
# 查看命令
pip list

3、启动uwsgi之前,编写.ini配置文件

[uwsgi]
# 端口
socket = 127.0.0.1:8000
# 配合django框架,指定django框架根目录
chdir = /usr/local/var/www/djg/djg
# django wsgi.py位置
wsgi-file = /usr/local/var/www/djg/djg/djg/wsgi.py
master = true
processes = 2
threads = 2
max-requests = 2000
chmod-socket = 664
vacuum = true
daemonize = /usr/local/var/www/djg/uwsgi.log
# pid会保存uwsgi启动后的进程信息,更容易用命令来启动、关闭uwsgi服务(重要)
pidfile = /usr/local/var/www/djg/uwsgi.pid
log-master = true
disable-logging = false
debug = false

4、启动、关闭、重载、查看uwsgi服务

# 启动uwsgi,指定配置文件路径
uwsgi --ini uwsgi-dev.ini 
# 查看uwsgi进程
ps aux | grep uwsgi 
# 关闭uwsgi服务,用到.pid文件
uwsgi --stop uwsgi.pid
# 重新载入uwsgi服务,过程有点慢
uwsgi --reload uwsgi.pid

5、uwsgi本身就是web服务器,可以负责运行python等文件,但是通常配合nginx使用,nginx负责分发请求,uwsgi负责和python应用程序通信,在nginx当中配置如下,有点类似php fastcgi配置方法

# 简单uwsgi/nginx配置示例
location / {
    include uwsgi_params;
    uwsgi_pass 127.0.0.1:8000;
}

[下载]


下载链接

本站不直接提供下载,所有下载链接均为第三方

uwsgi文档