我试图用uwsgi + nginx运行python脚本。 它在浏览器中导致了这个错误:
uWSGI Error
Python application not found
在var/log/uwsgi/app/pyec.loc.log
中,字符串为:
Sun Mar 3 01:34:36 2013 - added /home/lunochkinma/py_projects/pyec/ to pythonpath.
Sun Mar 3 01:34:36 2013 - mounting hello on /home/lunochkinma/py_projects/pyec/
Sun Mar 3 01:34:36 2013 - *** no app loaded. going in full dynamic mode ***
Sun Mar 3 01:34:36 2013 - *** uWSGI is running in multiple interpreter mode ***
我的uwsgi app config:
<uwsgi>
<plugin>python</plugin>
<socket>/run/uwsgi/app/pyec.loc/pyec.loc.socket</socket>
<pythonpath>/home/lunochkinma/py_projects/pyec</pythonpath>
<app mountpoint="/">
<script>hello</script>
</app>
<master/>
<processes>4</processes>
<harakiri>60</harakiri>
<reload-mercy>8</reload-mercy>
<cpu-affinity>1</cpu-affinity>
<stats>/tmp/stats.socket</stats>
<max-requests>2000</max-requests>
<limit-as>512</limit-as>
<reload-on-as>256</reload-on-as>
<reload-on-rss>192</reload-on-rss>
<no-orphans/>
<vacuum/>
</uwsgi>
Python wsgi文件:
# /home/lunochkinma/py_projects/pyec/hello.py
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/plain')])
return b'Hello World!'
Nginx配置:
server {
listen 80;
server_name paec.loc;
access_log /var/log/nginx/pyec.loc.access.log;
error_log /var/log/nginx/pyec.loc.error.log;
location / {
uwsgi_pass unix:///run/uwsgi/app/pyec.loc/pyec.loc.socket;
include uwsgi_params;
uwsgi_param UWSGI_SCHEME $scheme;
uwsgi_param SERVER_SOFTWARE nginx/$nginx_version;
}
location /static {
root /home/lunochkinma/py_projects/pyec/static/;
index index.html index.htm;
}
}
Soft:ubuntu 12.04,nginx 1.2.1,uwsgi 1.4.8,python 3.2.3
答案 0 :(得分:0)
(在问题编辑中回答。转换为社区维基回答。请参阅What is the appropriate action when the answer to a question is added to the question itself?)
OP写道:通过添加到uwsgi app config参数&#34; module&#34;来解决问题:
<uwsgi> <plugin>python</plugin> <socket>/run/uwsgi/app/pyec.loc/pyec.loc.socket</socket> <pythonpath>/home/lunochkinma/py_projects/pyec</pythonpath> <app mountpoint="/"> <script>hello</script> </app> <module>hello</module> <master/> <processes>4</processes> <harakiri>60</harakiri> <reload-mercy>8</reload-mercy> <cpu-affinity>1</cpu-affinity> <stats>/tmp/stats.socket</stats> <max-requests>2000</max-requests> <limit-as>512</limit-as> <reload-on-as>256</reload-on-as> <reload-on-rss>192</reload-on-rss> <no-orphans/> <vacuum/> </uwsgi>