uwsgi -- unavailable modifier requested: 0 -- 的解决办法

nginx 报错

upstream prematurely closed connection while reading response header from upstream

说明是上游服务器出现了问题
所以是uwsgi出现问题
uwsgi 报错

uwsgi -- unavailable modifier requested: 0

1. 解决办法一

此时uwsgi是用yum安装的

yum search vim uwsgi-plugin-python

找到对应版本的uwsgi-plugin-python,yum install一下
然后在ini文件中添加plugins = python,或者命令行添加–plugin python
比如我的python是python3.6.4

[root@localhost conf.d]# yum search vim uwsgi-plugin-python
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
=============================== N/S matched: vim ===============================
beakerlib-vim-syntax.noarch : Files for syntax highlighting BeakerLib tests in
                            : VIM editor
fluxbox-vim-syntax.noarch : Fluxbox syntax scripts for vim
neovim.x86_64 : Vim-fork focused on extensibility and agility
protobuf-vim.x86_64 : Vim syntax highlighting for Google Protocol Buffers
                    : descriptions
python2-neovim.noarch : Python client to Neovim
python34-neovim.noarch : Python client to Neovim
vim-X11.x86_64 : The VIM version of the vi editor for the X Window System
vim-common.x86_64 : The common files needed by any version of the VIM editor
vim-enhanced.x86_64 : A version of the VIM editor which includes recent
                    : enhancements
vim-filesystem.x86_64 : VIM filesystem layout
vim-go.x86_64 : Go development plugin for Vim
vim-gtk-syntax.noarch : Vim syntax highlighting for GLib, Gtk+, Gstreamer, and
                      : more
vim-jellybeans.noarch : A colorful, dark color scheme for Vim
vim-minimal.x86_64 : A minimal version of the VIM editor
vim-toml.noarch : Vim syntax for TOML
vim-vimoutliner.noarch : Script for building an outline editor on top of Vim
xtuple-csvimp-devel.x86_64 : CSVImp development files
apvlv.x86_64 : PDF viewer which behaves like Vim
vim-fugitive.noarch : A Git wrapper so awesome, it should be illegal
vim-halibut.noarch : Syntax file for the halibut manual tool
xtuple-csvimp.x86_64 : xTuple data import utility

======================= N/S matched: uwsgi-plugin-python =======================
uwsgi-plugin-python2.x86_64 : uWSGI - Plugin for Python 2 support
uwsgi-plugin-python2-gevent.x86_64 : uWSGI - Plugin for Python 2 GEvent support
uwsgi-plugin-python2-tornado.x86_64 : uWSGI - Plugin for Tornado (Python 2)
                                    : support
uwsgi-plugin-python34.x86_64 : uWSGI - Plugin for Python 3.4 support
uwsgi-plugin-python34-gevent.x86_64 : uWSGI - Plugin for Python 3.4 GEvent
                                    : support
uwsgi-plugin-python34-tornado.x86_64 : uWSGI - Plugin for Tornado (Python 3.4)
                                     : support
uwsgi-plugin-python36.x86_64 : uWSGI - Plugin for Python 3.6 support
uwsgi-plugin-python36-gevent.x86_64 : uWSGI - Plugin for Python 3.6 GEvent
                                    : support

  Name and summary matches mostly, use "search all" for everything.

所以我

[root@localhost conf.d]# yum install uwsgi-plugin-python36
Loaded plugins: fastestmirror, langpacks
Loading mirror speeds from cached hostfile
 * base: mirrors.aliyun.com
 * epel: mirrors.aliyun.com
 * extras: mirrors.aliyun.com
 * updates: mirrors.aliyun.com
Resolving Dependencies
--> Running transaction check
---> Package uwsgi-plugin-python36.x86_64 0:2.0.17.1-1.el7 will be installed
--> Processing Dependency: uwsgi-plugin-common = 2.0.17.1-1.el7 for package: uwsgi-plugin-python36-2.0.17.1-1.el7.x86_64
--> Processing Dependency: python36 for package: uwsgi-plugin-python36-2.0.17.1-1.el7.x86_64
--> Processing Dependency: libpython3.6m.so.1.0()(64bit) for package: uwsgi-plugin-python36-2.0.17.1-1.el7.x86_64
--> Running transaction check
---> Package python36.x86_64 0:3.6.6-1.el7 will be installed
---> Package python36-libs.x86_64 0:3.6.6-1.el7 will be installed
---> Package uwsgi-plugin-common.x86_64 0:2.0.17.1-1.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                     Arch         Version              Repository  Size
================================================================================
Installing:
 uwsgi-plugin-python36       x86_64       2.0.17.1-1.el7       epel        80 k
Installing for dependencies:
 python36                    x86_64       3.6.6-1.el7          epel        66 k
 python36-libs               x86_64       3.6.6-1.el7          epel       8.6 M
 uwsgi-plugin-common         x86_64       2.0.17.1-1.el7       epel        53 k

Transaction Summary
================================================================================
Install  1 Package (+3 Dependent packages)

Total download size: 8.8 M
Installed size: 37 M
Is this ok [y/d/N]: y
Downloading packages:
(1/4): python36-3.6.6-1.el7.x86_64.rpm                     |  66 kB   00:02     
(2/4): python36-libs-3.6.6-1.el7.x86_64.rpm                | 8.6 MB   00:00     
(3/4): uwsgi-plugin-common-2.0.17.1-1.el7.x86_64.rpm       |  53 kB   00:00     
(4/4): uwsgi-plugin-python36-2.0.17.1-1.el7.x86_64.rpm     |  80 kB   00:00     
--------------------------------------------------------------------------------
Total                                              2.3 MB/s | 8.8 MB  00:03     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : python36-3.6.6-1.el7.x86_64                                  1/4 
  Installing : python36-libs-3.6.6-1.el7.x86_64                             2/4 
  Installing : uwsgi-plugin-common-2.0.17.1-1.el7.x86_64                    3/4 
  Installing : uwsgi-plugin-python36-2.0.17.1-1.el7.x86_64                  4/4 
  Verifying  : uwsgi-plugin-python36-2.0.17.1-1.el7.x86_64                  1/4 
  Verifying  : python36-libs-3.6.6-1.el7.x86_64                             2/4 
  Verifying  : python36-3.6.6-1.el7.x86_64                                  3/4 
  Verifying  : uwsgi-plugin-common-2.0.17.1-1.el7.x86_64                    4/4 

Installed:
  uwsgi-plugin-python36.x86_64 0:2.0.17.1-1.el7                                 

Dependency Installed:
  python36.x86_64 0:3.6.6-1.el7                                                 
  python36-libs.x86_64 0:3.6.6-1.el7                                            
  uwsgi-plugin-common.x86_64 0:2.0.17.1-1.el7                                   

Complete!

安装完成后,需要在此项目的uwsgi的ini文件中设置参数plugins = python36

=成功解决BUG的第三天=

今天又部署了一个项目,但是项目是python2.7开发的
然后按照之前的解决方式,安装了uwsgi-plugin-python2 然后ini文件中设置了plugins = python2,依然存在问题
然后又尝试安装uwsgi-plugin-python2-gevent,还是没有用

只能祭出终极绝招了!

2. 解决办法二

首先卸载了yum安装的uwsgi

yum remove uwsgi

然后分别进入两个项目的虚拟环境,在虚拟环境中单独使用pip安装uwsgi

然后再supervisord的ini文件中,指定uwsgi的启动路径(即虚拟环境的bin目录),然后问题解决了!!!

posted @ 2018-11-28 19:37  听风。  阅读(2914)  评论(0编辑  收藏  举报