源码安装

1、选择版本下载:https://uwsgi-docs.readthedocs.io/en/latest/Download.html

2、解压和安装

cd /usr/local
tar zxvf uwsgi-2.0.20.tar.gz
cd uwsgi-2.0.20
python3 setup.py install
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

pip安装

pip install uwsgi
ln -s /usr/local/python3/bin/uwsgi /usr/bin/uwsgi

使用

# start
uwsgi --init xxx.ini
# restart
uwsgi --reload xxx.pid
# stop
uwsgi --stop xxx.pid

测试

(1)在用户目录创建一个test.py文件,并插入内容

cd ~
vi test.py=========插入保存退出============#!/usr/bin/env python3def application(env,start_response):start_response('200 OK',[('Content-Type','text/html')])return "Hello,world"

(2)编写一个uwsgi的ini配置文件

vi test.ini
=========插入保存退出============
[uwsgi]
# http服务
http-socket=:8080
# 项目目录,同个层级不用更改
#chdir=
# 相对于项目目录,要运行的文件
wsgi-file=test.py
# 指定启动的工作进程数
processes=4
# 指定工作进程中的线程数
threads=2
# 启动一个master主进程来管理其他进程,建议启动这个进程,在管理的时候比较方便;如果kill这个master进程,相当于关闭所有的uwsgi进程。
master=True
uwsgi test.ini       // 运行配置文件uwsgi -d --ini test.ini //后台运行ps ax | grep uwsgi //查询进程ps ax | grep uwsgi //查看uwsgikillall -s INT /usr/bin/uwsgi //停止

(3)使用主机输入地址进行查看

http://192.168.56.100:8080/

更多配置

1-通信接口:
    socket=:8080        -- socket通信速度比http快
    http=:8080        -- 官方不推荐使用
    http-socket=:8888        -- 一般使用这个
2-项目目录(启动文件所在位置)
    chdir=
3-项目中wsgi.py文件的目录,相对于项目目录
    wsgi-file=test.py
4-callable的对象就是一个wsgi接口,如Flask中的app,是flask独有的配置项
(django不需要)
    callable = WSGIHandler
5-指定启动的工作进程数
    processes=4
6-指定工作进程中的线程数
    threads=2
7-启动一个master主进程来管理其他进程,建议启动这个进程,在管理的时候
  比较方便;如果kill这个master进程,相当于关闭所有的uwsgi进程。
    master=True
8-使进程在后台运行,并将日志打到指定的日志文件或者udp服务器
    daemonize = uwsgi.log
9-不记录request日志,只记录错误日志
    disable-logging = true
10-保存启动之后主进程的pid(保存在uwsgi.pid文件中),防止运行多余程序
    pidfile=uwsgi.pid
11-一个请求花费的时间超过了这个harakiri超时时间,那么这个请求都会被丢弃,
   并且当前处理这个请求的工作进程会被回收再利用(即重启)
    harakiri = 60
12-为每个工作进程设置请求数的上限。当一个工作进程处理的请求数达到这个值,
   那么该工作进程就会被回收重用(重启)。
    max-requests = 5000
13-这个配置会使在平滑地重启工作子进程中,如果工作进程结束时间超过了
   8秒就会被强行结束(忽略之前已经接收到的请求而直接结束)
    reload-mercy = 8
14-uwsgi不建议使用root权限去启动uwsgi实例。
   可以通过root用户去运行uwsgi文件,当通过uid和gid去修改用户(移除root权限)
    uid=1000
    gid=1000
15-buffer-size用于uwsgi包解析的内部缓存区大小,默认是4k。这个值可以设置到64k
   用于解决报头过大的错误
    buffer-size=65536
16-由于GIL的存在,uwsgi默认不支持多线程,不对GIL进行初始化。
   但如果希望程序中的线程发挥作用,需要加入
       enable-threads=True

Linux 安装 uwsgi相关推荐

  1. linux uwsgi 非root,linux 安装uwsgi

    8种机械键盘轴体对比 本人程序员,要买一个写代码的键盘,请问红轴和茶轴怎么选? linux 安装uwsgi 安装并查看版本 • yum groupinstall "Development t ...

  2. linux如何检查uwsgi安装成功,linux安装uwsgi出错

    服务器:百度云服务器centos6.5 python版本:3.7 以排查:所有百度能查到的办法都已经用了,升级openssl到1.1,添加python-dev,加sudo等等. 安装命令:pip3 i ...

  3. linux安装python27_linux下安装python27 nginx 和uwsgi

    注意: python27 默认没有安装 pip 和setuptools所以要提前安装.(务必先提前安装python27 哈 ) wget --no-check-certificate https:// ...

  4. linux python3安装uwsgi报错问题解决

    当我运行 pip3 install uwsgi 出现了如下的报错信息 WARNING: Running pip install with root privileges is generally no ...

  5. nginx linux 安装

    nginx linux 安装 进入http://nginx.org/en/download.html 下载 n  gcc 安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gc ...

  6. Python 安装 uWSGI并运行一个入门示例

    Python 安装 uWSGI 1.通过 pip 命令: pip install uwsgi 2.下载安装脚本: curl http://uwsgi.it/install | bash -s defa ...

  7. Linux安装jdk,mysql,tomcat,redis和nginx

    Linux安装jdk,mysql,tomcat,redis和nginx 1. jdk 2. mysql 3. tomcat 4. redis 5. nginx 首先安装lrzsz: yum -y in ...

  8. linux搭建 uwsgi服务器,uwsgi服务器部署

    使用pip安装uwsgi和uwsgi pip install uwsgi pip install uwsgitop pip安装uwsgi后,Linux命令行敲击uwsgi --help后,提示uwsg ...

  9. 实用的Linux 安装 zip unzip

    Linux 安装 zip unzip 1.apt-get 安装 apt-get install zip 2.yum 安装 yum install -y unzip zip 命令实例 1.把/home目 ...

最新文章

  1. Cmake 交叉编译
  2. 计算机科学和Python编程导论(六) 测试与调试
  3. android studio ndk-builld方式开发
  4. JAVA中list.contains()方法,要重写equals(),hashcode()方法
  5. atan java_Java atan() 方法
  6. 玩转Linux必备知识(三)
  7. 信息与数据科学国际会议征文通知
  8. 【数据库系统】为什么使用SQL而非C/C++的函数库执行数据库查询操作
  9. (二)深入了解超文本
  10. 数据结构Java版之排序算法(二)
  11. hive 导出json格式 文件_Magicodes.IE在.NET Core中通过请求头导出多种格式文件
  12. 大牛讲解Kubernetes实战
  13. 关于SQL server 2012无法打开物理文件“某某某”,操作系统错误5 :(拒绝访问)。(Microsoft SQL Server,错误 5120)
  14. LM358电流检测电路
  15. Android获取桌面应用程序
  16. 程序员租女友被骗 揭秘“租友”市场背后那些坑
  17. 虚拟试鞋行业分析及首篇论文解读
  18. wps office只显示一级目录和添加水印
  19. 大疆工程师:如何利用6年时间成为一名优秀的机器人工程师
  20. OllyDbg使用方法

热门文章

  1. optimizer.zero_grad()和loss.backward()
  2. win32键盘输入python_windows下python捕捉键盘鼠标事件 pywin32 | 学步园
  3. 集成IOS 环信SDK
  4. web爬虫,scrapy模块标签选择器下载图片,以及正则匹配标签
  5. Redis 增删改查详解
  6. 还摆个屁的烂?用Python画如此漂亮的专业插图 ?简直So easy!
  7. 火山引擎基于 Dragonfly 加速实践
  8. 英国科学权威杂志上网成瘾 8大病态
  9. Netty 上篇(尚硅谷)
  10. 恒生电子实习记录-15