Как запустить колбу appbuilder с uWSGI и Nginx - PullRequest
0 голосов
/ 10 сентября 2018

Я создаю веб-сервер с помощью приложения flashk appbuilder. Я могу запустить этот проект по команде: python3 run.py или fabmanage run, но он всегда не отвечает, когда через несколько часов не происходит взаимодействие, поэтому я пытаюсь запустить его с Nginx.

Вот мой конфиг:

uwsgi.ini:

[uwsgi]
base = /root/flask_spider/gttx_spider/web
all_base = /root/flask_spider/gttx_spider/
app = run
module = %(app)
chdir = %(base)
virtualenv = %(all_base)/venv
socket = %(all_base)/uwsgi_gttx_spider.sock
logto = /var/log/uwsgi/%n.log
master = true
processes = 500
chmod-socket = 666
vacuum = true
callable = app

nginx.conf

server {
    listen      82;
    server_name gttx_spider;
    charset     utf-8;
    client_max_body_size 75M;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/root/flask_spider/gttx_spider/uwsgi_gttx_spider.sock;

        access_log /var/log/nginx/access.log;
        error_log /var/log/nginx/error.log;
    }
}

и измените run.py

from app import app

app.run(host='0.0.0.0')
#app.run(host='0.0.0.0', port=8080,debug=True)

и затем:

sudo ln -s /root/flask_spider/gttx_spider/nginx.conf /etc/nginx/conf.d/
sudo /etc/init.d/nginx restart
uwsgi --ini uwsgi_gttx_spider.ini

Когда я получаю доступ к IP: 82 и получаю этот журнал в nginx:

[error] 11104#11104: *3 upstream timed out (110: Connection timed out) while reading response header from upstream

Когда я получаю доступ к IP: 5000, И этот вход в системуuwsgi:

2018-09-10 19:36:25,747:INFO:werkzeug: * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
2018-09-10 19:36:38,434:INFO:werkzeug:115.192.37.57 - - [10/Sep/2018 19:36:38] "GET / HTTP/1.1" 302 -
2018-09-10 19:36:38,466:INFO:werkzeug:115.192.37.57 - - [10/Sep/2018 19:36:38] "GET /home/ HTTP/1.1" 200 -

Кроме того, я пробую это:
mv web / run.py web / run_bak.py
vi run.py

from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "Hello World!"

if __name__ == "__main__":
    app.run(host='0.0.0.0', port=8090)

и доступ к IP: 82, он вернет «Hello World», и все в порядке

Разница в том, что werkzeug запустит проект appk для фляги на 5000, и как запустить в uwsgi.sock, пожалуйста, помогите, спасибо!

...