这是个解决错误的方法合集,集中了多个解决方法,根据自己的错误进行修改
错误发现
部署Django项目中,启动uwsgi时正常 web访问项目时:页面显示502
并且uwsgi报错“unavailable modifier requested: 0”
问题搜索
网上搜索的解决方法
都未解决我的问题,不过做个合集吧,希望可以解决别人的问题。
解决方法一
安装 :apt-get install uwsgi-plugin-python uwsgi配置文件中增加:plugins = python 重新启动uwsgi uwsgi --ini uwsgi.ini
对于我的问题未解决,不过可参考
方法链接:链接
解决方法二
和“解决方法一”原理一致,不过是对于不同版本python
如果是python3.6 安装:apt-get install uwsgi-plugin-python36 uwsgi配置文件中增加:plugins = python36 重新启动uwsgi uwsgi --ini uwsgi.ini
方法连接:链接
解决方法三
该方法与前面两种方法一样只不过不修改uwsgi配置文件,在启动使用uwsgi启动项目的时候添加参数
ubuntu安装 apt-get install uwsgi-plugin-python 同时启动文件需要增加一个配置项 –plugins=python 命令示例 重新启动uwsgi uwsgi --ini uwsgi.ini --plugins=python
问题解决
原因是,我的环境中存在两个uwsgi,一个是本地环境(apt-get安装的),一个是虚拟环境中(pip安装的)
# 直接使用uwsgi命令,则启动的是本地环境的uwsgi,不是我虚拟环境中的uwsgi
# 原来的命令:
uwsgi --ini uwsgi.ini
# 命令修改为使用虚拟环境中的uwsgi就完美解决
/home/admin/py35env/bin/uwsgi --ini uwsgi.ini
# admin是用户名
# py35env是虚拟环境名称/路径
pip安装uwsgi命令:
# 如果是在虚拟环境中,则需要进入虚拟环境安装
# 安装
pip install uwsgi
# 卸载
pip uninstall uwsgi
|