【错误记录】uwsgi 启动 flask 出错

在测试环境使用uwsgi启动flask未成功

正常报错信息:

*** Starting uWSGI 2.0.13.1 (64bit) on [Fri Sep 23 09:27:47 2016] ***
compiled with version: 4.4.7 20120313 (Red Hat 4.4.7-4) on 22 September 2016 11:24:15
os: Linux-2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013
nodename: localhost.localdomain
machine: x86_64
clock source: unix
detected number of CPU cores: 1
current working directory: /home/sae/pengyusong/saeServers/tcc
writing pidfile to ./tcc.pid
detected binary path: /home/sae/tools/python2.7.12/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
your processes number limit is 1024
your memory page size is 4096 bytes
detected max file descriptor number: 100000
lock engine: pthread robust mutexes
thunder lock: enabled
Listen queue size is greater than the system max net.core.somaxconn (128).
VACUUM: pidfile removed.
unlink(): No such file or directory [core/uwsgi.c line 1634]

从这里看不出什么问题,在网上找到一种方法可以看到具体错误信息如下:使用  strace -f [ -o trace.log ] uwsgi --ini uwsgi.ini

socket(PF_INET, SOCK_STREAM, IPPROTO_IP) = 3
setsockopt(3, SOL_SOCKET, SO_REUSEADDR, [1], 4) = 0
open("/proc/sys/net/core/somaxconn", O_RDONLY) = 4
read(4, "128\n", 16)                    = 4
close(4)                                = 0
write(2, "Listen queue size is greater tha"..., 75Listen queue size is greater than the system max net.core.somaxconn (128).
) = 75
chdir("/home/sae/pengyusong/saeServers/tcc") = 0
unlink("./tcc.pid")                     = 0
write(2, "VACUUM: pidfile removed.\n", 25VACUUM: pidfile removed.
) = 25
unlink("/tmp/stats_tcc.socket")         = -1 ENOENT (No such file or directory)
write(2, "unlink(): No such file or direct"..., 61unlink(): No such file or directory [core/uwsgi.c line 1634]
) = 61
exit_group(1)

从上述错误看到,可能是因为没有这个文件导致的出错,注意我说的是“可能”,因为实际上不是,这个可能就是一个检查,没有就会创建,真正的原因没打印出来。

找了半天,没办法,与生产环境上做对比,启动过程中一个输出引起了我的注意:

Listen queue size is greater than the system max net.core.somaxconn (128).

这句话说的是系统的这个参数设置为128,但是我的uwsgi配置的比较大,我自以为是的认为这个应该没关系,反正是测试环境,大不了就按照128限制来吧

没有办法,最后尝试改了以下这个参数,然后再次启动,奇迹般的启动成功了,成功了,了。。。。

计算机的世界套路太深,有时候不按常理出牌,也是因为自己对uwsgi不熟导致的

WTF。。。

时间: 2024-10-09 08:54:44

【错误记录】uwsgi 启动 flask 出错的相关文章

Ubuntu16.04下搭建mysql + uwsgi + nginx环境启动flask 项目

1.安装mysql Sudo apt-get install mysql 配置mysql的数据存储路径,默认在 /var/lib/mysql sudo cp -R /var/lib/mysql/* /home/applex/mysqldb sudo chown -R mysql:mysql home/applex/mysqldb sudo gedit /etc/mysql/mysql.conf.d/mysqld.cnf 将 [mysqld] 组下的 datadir改为: datadir = /h

使用Nginx和uwsgi部署Flask项目

前言 之前用Flask框架开发了一个Python的Web项目,使用Nginx和uWSGI部署起来感觉挺麻烦,过程中还因为对Flask框架的不熟悉,花了好长时间才把应用完全部署起来.下面分享部署成功的相关配置以及部署Flask项目时极可能犯的一个小错误. 一. 配置 1. Flask Web项目源码 Nginx使用的版本是1.6.1,uWSGI是2.0.8,Flask是0.10.1.在Linux环境下安装好Nginx.uWSGI和Flask之后,将使用Flask框架开发的web项目源码放到Linu

[转]错误记录

题目:简单错误记录 题目描述: 开发一个简单的错误记录功能模块,能够记录出错的代码所在的文件名称和行号. 处理: 1.记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条错误,错误计数增加: 2.超过16个字符的文件名称,只记录文件的最后有效16个字符: 3.输入的文件可能带路径,记录文件名称不能带路径 输入描述: 一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开. 文件路径为windows格式 如:E:\V1R2\product\fpgadrive.

PXE启动芯片出错代码表、初始化/引导/载入Bootstrap错误代码

PXE-E00:Could not find enough free base memory. PXE主代码和UNDI运行时模块从闪存或上位内存拷贝至基本内存顶部480K(78000h)至640K(A0000h)的剩余空间位置,这段内存必须被系统BIOS填零,如果这些内存没有填零,PXE ROM里的重布置代码将认为这些内存已经被系统BIOS或其它启动ROM占用了. PXE-E01:PCI Vendor and Device IDs do not match! 此信息在成品BIOS中不可能出现,当

[编程题] 简单错误记录

开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理:1.记录最多8条错误记录,对相同的错误记录(即文件名称和行号完全匹配)只记录一条,错误计数增加:(文件所在的目录不同,文件名和行号相同也要合并)2.超过16个字符的文件名称,只记录文件的最后有效16个字符:(如果文件名不同,而只是文件名的后16个字符和行号相同,也不要合并)3.输入的文件可能带路径,记录文件名称不能带路径 输入描述: 一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开. 文件路径为window

27:简单错误记录SimpleErrorLog

题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理: 1. 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加: 2. 超过16个字符的文件名称,只记录文件的最后有效16个字符: 3. 输入的文件可能带路径,记录文件名称不能带路径. 输入描述:一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开. 输出描述:将所有的记录统计并将结果输出,格式:文件名 代码行数 数目,一个空格隔开,如: 输入例子: E:

Ubuntu 14.04 Server 上安装git源 mono 3.6.1 错误记录及成功步骤

看到ASP.NET vNext要支持Linux后,终于按捺不住折腾的心,决定先架个环境出来,只是实在没想到,因为相对熟悉点才选择的Ubuntu 14.04,会让过程会如此坎坷,有时呆看着屏幕上提示的种种error,真有点别人碰到的错都被我碰到了的荣幸,所以目标达成后,回头将这些错误回顾一遍,记录下来,以为将来鉴. 安装时主要参照的教程,是宇内流云写的<在Ubuntu操作系统上安装mono的具体方法>,简称文1:在排错过程中,还有参考园子里 逆水寒龙 的<Ubuntu Server(Ubu

uWSGI+Nginx+Flask在Linux下的部署

搞了一天多,终于搞通了uWSGI的部署原理,下面总结一下遇到的一些坑,希望给读者能够少走弯路. 简单来说,uWSGI是一个web服务器,Nginx进行反向代理的其实跟这些服务器可以说没有任何关系,你提供动态内容的服务器可以是apache/nginx/tomcat,当然也可以是uWSGI,他们之间的代理关系其实都是通过tcp/ip协议进行通信的.当然uWSGI相对于其它服务器来说有其特殊的地方,不同之处在于它可以提供独特的uwsgi协议进行通信.也就是说,nginx和uWSGI之间的通信协议可以有

【华为OJ】【069-简单错误记录】

[华为OJ][算法总篇章] [华为OJ][069-简单错误记录] [工程下载] 题目描述 开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号. 处理: 1. 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加: 2. 超过16个字符的文件名称,只记录文件的最后有效16个字符: 3. 输入的文件可能带路径,记录文件名称不能带路径. 输入描述 一行或多行字符串.每行包括带路径文件名称,行号,以空格隔开. 输出描述 将所有的记录统计