no python application found, check your startup logs for errors 淡淡的烟草味﹌ 2021-06-24 15:58 307阅读 0赞 最近在搭建服务器,版本是CentOS6.5,在测试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的版本啊,我做过相关的[升级][Link 1]的,为什么还会用老的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服务是可以启动的,但是,并没有提供服务,浏览器是访问不到的。 [Link 1]: https://www.cnblogs.com/xujianghua/p/5272107.html
还没有评论,来说两句吧...