no python application found, check your startup logs for errors
2017-12-09 23:03
609 查看
最近在搭建服务器,版本是CentOS6.5,在测试uwsgi的安装是否正确的时候,就出现了问题,如题。
其中网上也查了下,有好多种方案,我也试过了大多方案,但是结果都是不可以的。
看到这里,我觉得问题应该如上面所说的那些,应该是出在配置文件的身上:
我的配置文件,我用光标走了一遍,真的没有感觉到有空格的问题。但是我根据报错的信息(如题),可以判断应该是 配置文件中的chdir和module的问题,但是我又到服务器上再次确认了下,这个路径和项目的路径确实没有问题。
首先我发现这个问题的是这样的:
1.我在服务器上根据uwsgi的配置文件启动uwsgi,并无报错信息,然后我
2.然后我就查看uwsgi的日志
3.
然而,我只看了小半屏幕的日志,没有向上查看日志,后来偶然我想起上次出现问题的时候,也是因为只看了一小半的报错信息而漏掉了关键的提示。所以我果断将日志向上翻了翻,没想到,真的找到了问题的所在。
我看到日志中标记的启动uwsgi的时候,调用的是python2.6.6,系统默认的版本。但是我使用的是python2.7.9的版本啊,我做过相关的升级的,为什么还会用老的python版本呢?
去
回过头来,我们在来看下,为什么会报标题的错呢?因为我其实是在python2.6.6的基础上,又安装了python2.7.9,我只是做了软连接,并没有将python2.7.9的环境变量加入到系统的环境变量中,而我项目的环境、第三方包等都是安装到了python2.7.9的下面,启动uwsgi的时候,根据uwsgi的配置信息chdir和module找到项目的位置,但是加载代码的时候因为找不到第三方的库,出现大量的导入错误(上翻日志,一屏显示不下的,容易忽略错误),所以,uwsgi的配置文件module这步没有做通,导致的结果就是
另一问题:我将uwsgi的配置文件中 http 换成 socket的时候,uwsgi服务是可以启动的,但是,并没有提供服务,浏览器是访问不到的。
其中网上也查了下,有好多种方案,我也试过了大多方案,但是结果都是不可以的。
日志里面报类似于“Mon Mar 23 10:26:49 2015 – — no python application found, check your startup logs for errors —”这类错误时,需要好好检查一下xml文件 这个文件里面行尾不能有空格,参数左右也不能有空格,这个问题坑了我一晚上!!! 日志里面报类似于”ImportError: No module named wsgi”这类错误,需要检查一下你的xml文件的pythonpath选项 在虚拟环境下,需要配置到uwsgi所在目录(非虚拟环境下,只需要配置到项目所在路径即可)
看到这里,我觉得问题应该如上面所说的那些,应该是出在配置文件的身上:
# yaml格式 uwsgi: http: 0.0.0.0:80 chdir: /project_name_path module: project.wsgi processes: 4 listen : 100 daemonize: /tmp/uwsgi.log pidfile: /tmp/uwsgi.pid master: true disable-logging : true stats: /tmp/uwsgi.socket enable-threads: true buffer-size: 32768
我的配置文件,我用光标走了一遍,真的没有感觉到有空格的问题。但是我根据报错的信息(如题),可以判断应该是 配置文件中的chdir和module的问题,但是我又到服务器上再次确认了下,这个路径和项目的路径确实没有问题。
首先我发现这个问题的是这样的:
1.我在服务器上根据uwsgi的配置文件启动uwsgi,并无报错信息,然后我
ps aux | grep uwsgi一下,并没有看到uwsgi的进程。意识到有问题。
2.然后我就查看uwsgi的日志
/tmp/uwsgi.log
3.
tail -f /tmp/uwsgi.log动态查看日志,并发现如题报错。
然而,我只看了小半屏幕的日志,没有向上查看日志,后来偶然我想起上次出现问题的时候,也是因为只看了一小半的报错信息而漏掉了关键的提示。所以我果断将日志向上翻了翻,没想到,真的找到了问题的所在。
我看到日志中标记的启动uwsgi的时候,调用的是python2.6.6,系统默认的版本。但是我使用的是python2.7.9的版本啊,我做过相关的升级的,为什么还会用老的python版本呢?
看系统变量
我看了系统的环境变量PATH,其中有/usr/lib64/bin路径(python2.6.6的),但是没有
/usr/local/bin路径(python2.7.9的),所以
去/etc/profile
里添加 export PATH=/usr/local/bin:$PATH
,退出登录,重新登录一下,再启动uwsgi就没有问题了。
回过头来,我们在来看下,为什么会报标题的错呢?因为我其实是在python2.6.6的基础上,又安装了python2.7.9,我只是做了软连接,并没有将python2.7.9的环境变量加入到系统的环境变量中,而我项目的环境、第三方包等都是安装到了python2.7.9的下面,启动uwsgi的时候,根据uwsgi的配置信息chdir和module找到项目的位置,但是加载代码的时候因为找不到第三方的库,出现大量的导入错误(上翻日志,一屏显示不下的,容易忽略错误),所以,uwsgi的配置文件module这步没有做通,导致的结果就是no python application found,报这个错误就不稀奇了。
另一问题:我将uwsgi的配置文件中 http 换成 socket的时候,uwsgi服务是可以启动的,但是,并没有提供服务,浏览器是访问不到的。
相关文章推荐
- 使用 uwsgi + web.py 遇到 “--no python application found, check your startup logs for errors--”
- No message body writer has been found for class java.lang.Class, ContentType: application/xml
- ios提审报错:No suitable application records were found. Verify your bundle identifier 'xx' is correct
- No SDKs could be found for the IOS Device Platform, did you install the command line tools on your
- IARforMSP"Fatal Error[Cp001]: Copy protection check, No valid license found for this product [24] ".
- Now Launching Native Debug Session Attention! No symbol directories found - please check your native
- Check your hard disk for errors
- "Fatal Error[Cp001]: Copy protection check, No valid license found for this product [24] ".
- python suds 出错"No handlers could be found for logger 'suds.client'"
- 今天在Waiting for review状态重传应用,导致no application records were found
- , but no declaration can be found for element 'dubbo:application'.
- No symbol directories found - please check your native debug configuration
- 错误信息:nitializing Spring root WebApplicationContext log4j:WARN No appenders could be found for logger
- No suitable application records were found. Verify your bundle identifi
- springboot访问方法时出错:Spring Boot Application: No converter found for return value of type
- While installing plugin in eclipse luna, “Unable to acquire PluginConverter service” and “No repository found” errors appear in logs
- [python]Python Fabric - No hosts found. Please specify (single) host string for connection
- Initializing Spring root WebApplicationContext log4j:WARN No appenders couould be found for logger (
- No MyBatis mapper was found in 'XXX' package. Please check your configuration
- iOS No suitable application records were found. Verify your bundle identifier 'xxx' is correct.