我正在尝试在uwsgi / Nginx上使用Flask应用程序.
以下
http://uwsgi-docs.readthedocs.org/en/latest/tutorials/Django_and_nginx.html
和
http://www.markjberger.com/flask-with-virtualenv-uwsgi-nginx/,我可以制作wiki.ini文件,
[uwsgi]
vhost = true
socket = /tmp/flask_app.sock
venv = /home/ubuntu/webapp/flask/hello/.env
chdir = /home/ubuntu/webapp/flask/hello
module = flaskapp
callable = app
chmod-socket = 666
我检查了wiki.ini文件与uwsgi –ini wiki.ini一起正常工作.
然后,我尝试在启动时启动Flask应用程序.
从sudo update-rc.d uwsgi enable,我可以在启动时启动uwsgi服务,并将wiki.ini文件复制到/ etc / uwsgi / apps-enabled目录中.
server {
listen 80;
server_name wiki.example.com;
access_log /var/log/Nginx/uwsgi_access.log;
error_log /var/log/Nginx/uwsgi_error.log;
location / { try_files $uri @riki; }
location @riki {
include uwsgi_params;
uwsgi_pass unix:/tmp/flask_app.sock;
}
error_page 404 /404.html;
}
但是,当我重新启动我的ubuntu服务器时,Flask应用程序无法运行.
我检查了错误日志以找到此错误消息.
2015/11/07 17:48:17 [crit] 1055#0: *1 connect() to
unix:/tmp/flask_app.sock Failed (2: No such file or directory)
while connecting to upstream, client: 68.203.30.28, server: wiki.example.com,
我创建了/tmp/flask_app.sock文件并运行chown -R www-data:www-data /tmp/flask_app.sock以使应用程序正常工作.
> touch /tmp/flask_app.sock
> sudo chown www-data:www-data /tmp/flask_app.sock
> sudo service uwsgi restart
> sudo service Nginx restart
2015/11/07 17:50:38 [error] 1055#0: *4 connect() to
unix:/tmp/flask_app.sock Failed (111: Connection refused) while
connecting to upstream, client: 68.203.30.28,
server: wiki.example.com, request: "GET / HTTP/1.1",
upstream: "uwsgi://unix:/tmp/flask_app.sock:", host: "wiki.example.com"
可能有什么问题?如何教uwsgi创建unix域套接字?另外,如何使连接工作?我使用的是ubuntu 14.04.
编辑
删除/tmp/flask_app.sock并运行uwsgi –ini /etc/uwsgi/apps-enabled/wiki.ini使应用程序正常工作.
解决方法:
主要问题似乎来自uwsgi服务;它只是不起作用.
我找到了另一种在启动时启动uwsgi的方法:upstart和uwsgi –emperor来自http://uwsgi-docs.readthedocs.org/en/latest/Upstart.html和http://upstart.ubuntu.com
该过程只是在/ etc / init目录中创建一个flask.conf文件. uwsgi –emperor控制uwsgi目录中的所有ini文件.
# simple uWsgi script
# http://uwsgi-docs.readthedocs.org/en/latest/Upstart.html
description "uwsgi tiny instance"
start on runlevel [2345]
stop on runlevel [06]
respawn
exec uwsgi --emperor /etc/uwsgi/apps-enabled
我还必须sudo update-rc.d uwsgi disable,以便禁用uwsgi服务.
我也发现这个网站http://flaviusim.com/blog/Deploying-Flask-with-nginx-uWSGI-and-Supervisor/在启动时调用uswgi,但我没有测试它.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。