首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Nginx + Dokku和水瓶

Nginx + Dokku和水瓶
EN

Server Fault用户
提问于 2017-01-18 00:22:40
回答 1查看 900关注 0票数 0

The Big

我有一个烧瓶网站--以前--在Linode上成功地运行在Ubuntu上。我用Yeoman引导它,因此,我不需要找出nginx、wsgi/Werkzeug和gunicorn之间的区别。

然而,现在我正试图将它移植到我的第一个Digitalocean液滴,使用他们预先配置的Ubuntu 16.04磁盘映像和Dokku 0.7.2,这让我非常恼火。这是我第一次与码头或Dokku,或一般集装箱化。

Dokku在部署我的烧瓶应用程序时没有出错--它告诉我,应用程序运行在我的液滴的IP地址上,然后是:17520。(我使用的不是域名,而是IP地址。)

问题定义

我的站点不响应HTTP请求,尽管Dokku说它成功地进行了部署。Chrome说“无法联系到这个网站”。

解决方案我已经试过

Dokku尝试了几次才能在没有错误的情况下部署我的应用程序,因为我需要将一些文件添加到本地存储库的根目录中,然后尝试再次推送它。

过程文件

首先,我需要Procfile,它包含单行web:python run.py,其中run.py是:

from app import app app.run(host = '0.0.0.0', debug = True)

忽略了我的Node.js开发工具

接下来,我需要阻止Dokku看到我的Node.js开发工具,并尝试将其部署为Node.js应用程序。因此,我添加了包含单行package.json.slugignore,以及包含单行https://github.com/heroku/heroku-buildpack-python.buildpacks,并再次推送到git push dokku

Gunicorn

当我引导这个应用程序时,Yeoman没有包括gunicorn --只有nginx和wsgi/Werkzeug。我注意到所有Procfile示例都使用gunicorn作为HTTP服务器,因此我将gunicorn==0.17.2添加到了我的requirements.txt. I changedProcfiletoweb: gunicorn应用程序:app中。在安装此版本时,Dokku没有抛出错误,但仍然没有对HTTP请求作出响应。

日志

Dokku日志

当我登录到液滴并运行命令dokku log [my_app_name]时,它说:

2017-01-17T17:11:04.733185275Z app[web.1]: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 2017-01-17T17:11:04.734938531Z app[web.1]: * Restarting with stat 2017-01-17T17:11:05.024834922Z app[web.1]: * Debugger is active! 2017-01-17T17:11:05.029750092Z app[web.1]: * Debugger pin code: 208-261-801,所以我也尝试将:5000附加到IP地址。当然,为了安全起见,我也尝试了端口80。还是没有运气。

在我安装gunicorn之后,日志会读到:

2017-01-18T17:09:38.303046670Z app[web.1]: 2017-01-18 17:09:38 [8] [INFO] Starting gunicorn 0.17.2 2017-01-18T17:09:38.303864158Z app[web.1]: 2017-01-18 17:09:38 [8] [INFO] Listening at: http://0.0.0.0:5000 (8) 2017-01-18T17:09:38.304140278Z app[web.1]: 2017-01-18 17:09:38 [8] [INFO] Using worker: sync 2017-01-18T17:09:38.310057688Z app[web.1]: 2017-01-18 17:09:38 [148] [INFO] Booting worker with pid: 148

Events.log

我仍然登录到我的液滴,我去var/log/dokku打开文件events.log,结尾是:Jan 17 16:27:55 [my-app-name] dokku-installer.py[7291]: 127.0.0.1 - - [17/Jan/2017 16:27:55] "GET /favicon.ico HTTP/1.0" 200 - Jan 17 16:28:27 [my-app-name] dokku-installer.py[7291]: 127.0.0.1 - - [17/Jan/2017 16:28:27] "HEAD / HTTP/1.0" 200 - Jan 17 16:29:49 [my-app-name] dokku-installer.py[7291]: SHA256: [then the SHA] Jan 17 16:29:50 [my-app-name] dokku-installer.py[7291]: 127.0.0.1 - - [17/Jan/2017 16:29:50] "POST /setup HTTP/1.0" 200 - Jan 17 16:29:50 [my-app-name] dokku-installer.py[7291]: Stopping nginx (via systemctl): nginx.service. Jan 17 16:29:51 [my-app-name] dokku-installer.py[7291]: Starting nginx (via systemctl): nginx.service. Jan 17 16:29:51 [my-app-name] dokku-installer.py[7291]: /bin/sh: 1: stop: not found

EN

回答 1

Server Fault用户

发布于 2017-01-22 20:36:08

您的nginx配置和nginx日志是什么?这个nginx实例是在主机上本地运行并使用systemd管理的吗?

服务器上的netstat -tulpn是怎么说的?

您看到从主机上转发到端口的容器中的端口5000吗?(有关此信息,请查看docker ps )

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/826903

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档