用Flask、Nginx和uwsgi获得404

2024-10-01 07:31:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我在/find\u bili_user中有一个烧瓶应用程序/应用程序副本使用/python_envs/env1/中的virtualenv

在应用程序副本公司名称:

from flask import Flask, jsonify, request, make_response

from biliuser import getdanmu

app = Flask('__name__')


@app.route('/find_bili_user.json', methods=['GET'])
def get_user():
    avid = request.args.get('avid')
    if not avid or not avid.isdigit():
        return invalid_avid()
    else:
        message = getdanmu(int(avid))
        if not message:
            return failed()
        else:
            response = jsonify(message)
            return response


@app.errorhandler(400)
def invalid_avid():
    return make_response(jsonify({'error': 'invalid avid.'}), 400)


@app.errorhandler(400)
def failed():
    return make_response(jsonify({'error': 'failed parsing comments.'}), 400)


if __name__ == '__main__':
    app.run()

我的uwsgi配置:

^{pr2}$

nginx配置:

server {
    listen      80;
    charset     utf-8;
    client_max_body_size 75M;
    location / {
        include uwsgi_params;
        uwsgi_pass unix:/find_bili_user/app_uwsgi.sock;
    }
}

当我启动nginx和uwsgi时,我得到以下日志:

*** Starting uWSGI 2.0.13.1 (64bit) on [Tue Jun 21 08:20:59 2016] *** compiled with version: 4.8.4 on 21 June 2016 07:28:15 os: Linux-3.13.0-83-generic #127-Ubuntu SMP Fri Mar 11 00:25:37 UTC 2016 nodename: vultr.guest machine: x86_64 clock source: unix detected number of CPU cores: 1 current working directory: /find_bili_user detected binary path: /python_envs/env1/bin/uwsgi chdir() to /find_bili_user *** WARNING: you are running uWSGI without its master process manager *** your processes number limit is 5764 your memory page size is 4096 bytes detected max file descriptor number: 1024 lock engine: pthread robust mutexes thunder lock: disabled (you can enable it with --thunder-lock) uwsgi socket 0 bound to UNIX address /find_bili_user/app_uwsgi.sock fd 3 Python version: 3.4.3 (default, Oct 14 2015, 20:31:36) [GCC 4.8.4] Set PythonHome to /python_envs/env1 Python main interpreter initialized at 0x21e8b30 python threads support enabled your server socket listen backlog is limited to 100 connections your mercy for graceful operations on workers is 60 seconds mapped 332224 bytes (324 KB) for 8 cores *** Operational MODE: preforking+threaded *** added /find_bili_user/ to pythonpath. WSGI app 0 (mountpoint='') ready in 0 seconds on interpreter 0x21e8b30 pid: 1503 (default app) *** uWSGI is running in multiple interpreter mode *** spawned uWSGI worker 1 (pid: 1503, cores: 2) spawned uWSGI worker 2 (pid: 1505, cores: 2) spawned uWSGI worker 3 (pid: 1506, cores: 2) spawned uWSGI worker 4 (pid: 1507, cores: 2)

我可以访问IP地址并获得nginx欢迎页面,但是xx.xx.xx.xx/查找_用户.json返回错误404,似乎nginx没有向发送请求uwsgi.是我的配置有什么问题吗?在


Tags: toappreturnisresponsenginxfindpid