美文网首页
cron环境下uwsgi command not found

cron环境下uwsgi command not found

作者: 十三流 | 来源:发表于2017-02-24 13:33 被阅读0次

    自己运维水平一般,服务器也没有备用的,偶尔down机了,自己在公司还好恢复,有时候不在,还真难搞,总结了一下服务器最近down机原因,基本都是被恶意攻击拖垮了,只能怪自己水平有问题,暂时就想到写个脚本优化一下,以代替自己不在公司时能恢复服务。

    首先学习了下Nginx对IP的限制,给单个IP加了个请求速率的限制,超出速率的,返回599,这样限制后发现能很有效了避免服务崩溃了,由于服务器是单核的,CPU在异常访问时还是会接近100%,所以在想如果吧这部分ip查出来禁掉,再检查一下uwsgi状态,不正常就重启下,应该可以吧。

    脚本思路大致如下:
    1,检查最近的2000行access.log,如果都在1分钟内,而且单个IP返回599状态的请求数大于100,就将此IP禁止访问,
    2,访问web url状态,如果返回不是200,就重启uwsgi

    单独脚本测试时都还正常,但是当放到cron中时,居然出现uwsgi命令无法使用。。。
    由于使用了pyenv,估计也是找不到对应的uwsgi吧,折腾了好久,终于找到解决办法,在脚本中加入

    PATH=/usr/local/.pyenv/shims:/usr/local/.pyenv/bin:$PATH
    

    加入pyenv的环境变量,就可以了。

    后来查询了资料,应该是说cron的环境变量是系统的,不包括用户设置的变量。

    相关文章

      网友评论

          本文标题:cron环境下uwsgi command not found

          本文链接:https://www.haomeiwen.com/subject/raqwwttx.html