Ubuntu pip安装uwsgi报错

  1. 使用python3.6安装uwsgi 老出错找不到 Python.h

plugins/python/uwsgi_python.h:2:20: fatal error: Python.h: No such file or directory compilation terminated.

网上搜了很多方法都没解决。仔细研究一番之后发现Python版本造成的,

那么安装3.6的python-dev,大概几分钟
sudo apt-get install libpython3.6-dev
再次执行
pip install uwsgi

  1. 配置uWSGI,在项目中新建文件uwsgi.ini,编写如下配置
[uwsgi]
socket=外网ip:端口(使用nginx连接时,使用socket)
http=外网ip:端口(直接做web服务器,使用http)
chdir=项目根目录
wsgi-file=项目中wsgi.py文件的目录,相对于项目根目录
processes=4
threads=2
master=True
pidfile=uwsgi.pid
daemonize=uswgi.log

启动:uwsgi --ini uwsgi.ini
停止:uwsgi --stop uwsgi.pid
重启:uwsgi --reload uwsgi.pid

  1. 查看服务运行情况
    ps ajx|grep uwsgi
  2. 试了好多次,启动uwsgi 都是报这个错误
socket option ismissing...

然后把socket切换http ,重新启动,再换成socket,重新启动就可以了!!!

原因:开始部署时settings.py DEBUG还是False,如果是设置的uwsgi.ini的socket,修改DEBUG=True这时候重启uwsgi并不能重新生效DEBUG的属性值,造成还是无法uwsgi。切换http,启动uwsgi生效DEBUG,在切换回socket。

你可能感兴趣的:(Ubuntu pip安装uwsgi报错)