源码安装

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. 成为优秀高级程序员的10个要点(转)
  2. 使用WINS服务器实现跨网段名称注册解析和释放
  3. buffer 与cache 的区别
  4. python就业方向选择-【经验分享】Python最好的几大就业方向与岗位技能要求!
  5. 第一章 SDN介绍 (附件3)【云计算,SDN,虚拟化三者关系】
  6. 墨客原型系统——随笔分享APP
  7. VS的一个项目,release/debug/x64/win32的设置有没有办法一次设置?
  8. Jmeter安装及简单使用
  9. html页面右下角添加js广告,javascript实现右下角广告框效果
  10. w ndows键是哪一个,Win10截图快捷键是哪个?Windows10自带截屏快捷键使用方法大全...
  11. 工作处境不好的时候,学会三思(三种思考)
  12. 推特CEO继任者曝光:带着老婆孩子睡公司,钢铁侠20年嫡系,现在掌舵挖洞公司...
  13. ZOJ 1655 Transport Goods
  14. 【k8s】 k8s | 一 | 介绍
  15. Java操作Word图表
  16. 格林纳达常驻WTO大使孙宇晨受邀出席美驻新大使的闭门午宴
  17. CC2530学习(一)CC2530微控制器介绍
  18. micropython ws2812b 渐变灯
  19. time(),ctime()和mktime()函数使用
  20. 目标检测经典论文——YOLOv2论文翻译(纯中文版):YOLO9000:更好、更快、更强

热门文章

  1. win10安装net3.5出现错误代码0x80070422的解决方法
  2. 在iOS中为ViewController构建自定义过渡
  3. Sublime3安装插件SublimeTmpl以及配置问题
  4. 计算机自动化有哪些SCI期刊推荐? - 易智编译EaseEditing
  5. 打开量化投资黑箱、投资学
  6. 刷脸支付有什么好处?| 超算科技
  7. java jpanel刷新_JPanel重绘问题
  8. 积分兑换商城系统4大优势
  9. iOS - 百度推送
  10. “数聚上海 共赢未来” 上海大数据产业高端峰会 Cloudera让大数据实现更多价值...