我尝试使用flask,wsgi和nginx在我的localhost上启动python脚本。
我一直试图关注this guide,但我使用的是Raspbian,而非CentOS。
在我的工作目录中,我有wsgi.py
运行我的主要python脚本myApp.py
。
from myApp import app as application
if __name__ == "__main__":
app.run()
如果我运行uwsgi --socket 0.0.0.0:5000 --protocol=http -w wsgi
它可以运行,我可以访问我的脚本。但我想使用nginx,所以我尝试配置它。
我在工作目录中有myApp.ini
,即
[uwsgi]
module=wsgi
master=true
processes=5
socket=myApp.sock
chmod-socket=660
vacuum=true
die-on-term=true
然后,我转到/etc/nginx/sites-available
,将default
重命名为default2
并将以下内容写为新default
。
server {
listen 5000;
server_name localhost;
location / {
include uwsgi_params;
uwsgi_pass unix:/home/pi/Desktop/WEBSERVER/myApp.sock;
}
}
如果我运行sudo service nginx configtest
,我会得到Testing nginx configuration:.
我认为正在通过。我运行sudo service nginx start
并且服务似乎已启动,但我收到502 Bad Gateway错误。
修改:我将uwsgi_pass unix:/home/pi/Desktop/WEBSERVER/myApp.sock;
更改为uwsgi_pass unix:/home/pi/Desktop/WEBSERVER/myApp.ini;
。此更改为我提供了Permission denied错误,而不是No No file错误。
示例问题:
没有这样的文件
2016/12/05 02:20:09 [crit] 1232#0: *1 connect() to unix:///home/pi/Desktop/WEBSERVER/myApp.sock failed (2: No such file or directory) while connecting to upstream, client: 192.168.15.21, server: localhost, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:///home/pi/Desktop/WEBSERVER/myApp.sock:", host: "192.168.15.19:5000"
拒绝权限
2016/12/05 02:37:09 [notice] 2938#0: signal process started
2016/12/05 02:37:11 [crit] 2942#0: *9 connect() to unix:///home/pi/Desktop/WEBSERVER/myApp.ini failed (13: Permission denied) while connecting to upstream, client: 192.168.15.21, server: localhost, request: "GET / HTTP/1.1", upstream: "uwsgi://unix:///home/pi/Desktop/WEBSERVER/myApp.ini:", host: "192.168.15.19:5000"