gpt4 book ai didi

python - Flask - 使用 Gunicorn、Nginx 和 Supervisor 部署,Supervisor 错误日志

转载 作者:太空宇宙 更新时间:2023-11-04 10:27:29 25 4
gpt4 key购买 nike

我已经使用 Gunicorn + Nginx + Supervisor 部署了一个 Flask 应用程序。它不起作用。在线搜索发现了几个类似问题的报告,但没有一个有适合我们情况的解释或解决问题的修复程序。 Here据说要关闭 daemonize gunicorn。如果我是对的,那不是我的情况。

似乎有什么东西已经启动了一个监听 8000 端口的服务。Supervisor 每秒向日志文件发送错误。

有什么可以帮助我的?

来自 Supervisor app-stderr.log 的错误:

[2015-02-19 18:56:19 +0300] [964] [INFO] Starting gunicorn 19.2.1
[2015-02-19 18:56:19 +0300] [964] [INFO] Listening at: http://127.0.0.1:8000 (964)
[2015-02-19 18:56:19 +0300] [964] [INFO] Using worker: sync
[2015-02-19 18:56:19 +0300] [1078] [INFO] Booting worker with pid: 1078
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
[2015-02-19 18:56:20 +0300] [1081] [INFO] Starting gunicorn 19.2.1
[2015-02-19 18:56:20 +0300] [1081] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:20 +0300] [1081] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:21 +0300] [1081] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:21 +0300] [1081] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:22 +0300] [1081] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:22 +0300] [1081] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:23 +0300] [1081] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:23 +0300] [1081] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:24 +0300] [1081] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:24 +0300] [1081] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:25 +0300] [1081] [ERROR] Can't connect to ('localhost', 8000)
[2015-02-19 18:56:25 +0300] [1078] [INFO] Worker exiting (pid: 1078)
[2015-02-19 18:56:25 +0300] [1122] [INFO] Booting worker with pid: 1122
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
[2015-02-19 18:56:27 +0300] [1148] [INFO] Starting gunicorn 19.2.1
[2015-02-19 18:56:27 +0300] [1148] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:27 +0300] [1148] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:28 +0300] [1148] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:28 +0300] [1148] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:29 +0300] [1148] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:29 +0300] [1148] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:30 +0300] [1148] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:30 +0300] [1148] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:31 +0300] [1148] [ERROR] Connection in use: ('localhost', 8000)
[2015-02-19 18:56:31 +0300] [1148] [ERROR] Retrying in 1 second.
[2015-02-19 18:56:32 +0300] [1148] [ERROR] Can't connect to ('localhost', 8000)
[2015-02-19 18:56:32 +0300] [1122] [INFO] Worker exiting (pid: 1122)
[2015-02-19 18:56:32 +0300] [1206] [INFO] Booting worker with pid: 1206
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
* Restarting with stat
[2015-02-19 18:56:32 +0300] [1211] [INFO] Starting gunicorn 19.2.1
[2015-02-19 18:56:32 +0300] [1211] [ERROR] Connection in use: ('localhost', 8000)

我的 supervisor.conf:

[program:app]
command = /home/www/app/flask/bin/gunicorn app:app -b localhost:8000 --preload
directory = /home/www/app
user = webhost

Netstat -tulpin

Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 930/nginx
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 855/sshd
tcp 0 0 127.0.0.1:8000 0.0.0.0:* LISTEN 1392/python3
tcp6 0 0 :::22 :::* LISTEN 855/sshd

还有 ps aux | grep python

root       954  0.1  2.4  60564 12440 ?        Ss   18:56   0:01 /usr/bin/python /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
webhost 1392 0.0 3.2 67148 16512 ? S 19:00 0:00 /home/www/app/flask/bin/python3 /home/www/app/flask/bin/gunicorn app:app -b localhost:8000
webhost 2124 5.2 4.2 86072 21344 ? S 19:12 0:00 /home/www/app/flask/bin/python3 /home/www/app/flask/bin/gunicorn app:app -b localhost:8000
webhost 2126 5.2 3.2 67148 16488 ? S 19:12 0:00 /home/www/app/flask/bin/python3 /home/www/app/flask/bin/gunicorn app:app -b localhost:8000
webhost 2130 0.0 0.1 11744 920 pts/0 S+ 19:13 0:00 grep --color=auto python

更新。主管配置在上面

nginx.conf

server {
location / {
proxy_pass http://127.0.0.1:8000;
}
location /static {
alias /home/www/myapp/app/static/;
}
}

文件结构

myapp
|
|-app-
| |
| __init__.py
|
run.py
|
config.py

__初始化__.py

from flask import Flask

app = Flask(__name__)
app.config.from_object('config')

from app import views

运行.py

#!flask/bin/python
from app import app
app.run()

配置.py

# For valid forms
CSRF_ENABLED = True
SECRET_KEY = 'never-guess'

最佳答案

我想通了。感谢@Ibrahim我在 run.py

中通过 gunicorn 启动了一个应用程序
#!flask/bin/python
from app import app
app.run()

因此 gunicorn 也创建了进程和 app.run()。他们互相冲突。刚刚删除了那个字符串。

关于python - Flask - 使用 Gunicorn、Nginx 和 Supervisor 部署,Supervisor 错误日志,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28611379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com