python – Flask App只返回404,无论它是如何运行的

python – Flask App只返回404,无论它是如何运行的,第1张

概述我似乎无法让我的应用程序在uWSGI上正常运行.我通过从命令行运行uWSGI将nginx从等式中取出,它表现出与在nginx上运行时完全相同的行为. uwsgi -s 0.0.0.0:5050 -w app:app --uid www-data --gid www-data --protocol=http uwsgi按如下方式处理请求: [pid:0625|app: 0|req: 1/1] 192 我似乎无法让我的应用程序在uWsgi上正常运行.我通过从命令行运行uWsgi将Nginx从等式中取出,它表现出与在Nginx上运行时完全相同的行为.

uwsgi -s 0.0.0.0:5050 -w app:app --uID www-data --gID www-data --protocol=http

uwsgi按如下方式处理请求:

[pID:0625|app: 0|req: 1/1] 192.168.1.219 () {34 vars in 737 bytes} [Tue Mar 31 11:10:30 2015] GET /admin => generated 233 bytes in 25 msecs (http/1.1 404) 3 headers in 249 bytes (1 switches on core 0)

我的文件结构如下

/srv/www/cc/app/               static/               templates/               __init__.py               vIEws.py               models.py               forms.py

根据新的证据,它可能是我的应用程序,这是我的init.py文件:

import osfrom flask import Flaskfrom flask.ext.sqlalchemy import sqlAlchemyfrom flask.ext.script import Managerfrom flask.ext.migrate import Migrate,MigrateCommandapp = Flask(__name__)app.config.from_object('config')db = sqlAlchemy(app)migrate = Migrate(app,db)manager = Manager(app)manager.add_command('db',MigrateCommand)from flask.ext.mail import Mailmail = Mail(app)from app import models,forms#setup flask-securityfrom flask.ext.security import Security,sqlAlchemyUserDatastoreuser_datastore = sqlAlchemyUserDatastore(db,models.User,models.Role)security = Security(app,user_datastore,confirm_register_form = forms.ExtendedConfirmRegisterForm    )from app import vIEws

链接到我的整个vIEws.py:http://pastebin.com/0jMTarEe

我有这个相同的应用程序,在开发早期的方式,在我有一个不同的Nginx uwsgi服务器上运行,并且已经完全复制了他们的配置文件,但无济于事.我真的不知道为什么这不起作用.但根据Flask文档,以上是我应该需要的.

对于咯咯笑声,我继续将uwsgi从等式中移除.在cc文件夹中创建了一个run.py文件… python run.py:

from app import appapp.run('0.0.0.0',port=5050,deBUG=True)

请求:

* Running on http://0.0.0.0:5050/* Restarting with reloader192.168.1.219 - - [31/Mar/2015 11:56:24] "GET / http/1.1" 404 -

所以它似乎是我的应用程序的问题,而不是任何关于Nginx或uwsgi的问题.我在任何地方都没有收到任何错误……可能会出错?

编辑

通过评论中的建议进行了更多挖掘.我编辑了init.py的底部:

import . import vIEwsprint vIEwsprint app.url_map

这是我启动服务器时的输出:

* Running on http://0.0.0.0:5050/* Restarting with reloader<module 'app.vIEws' from '/srv/www/cc/app/vIEws.py'>Map([<Rule '/' (head,POST,OPTIONS,GET) -> index>,<Rule '/admin/' (head,GET) -> admin>,<Rule '/test/' (head,GET) -> test>...Lots more ... ])
解决方法 如果您设置SERVER_name配置值,则它必须与应用程序外部服务的主机和端口匹配.要么将其注释掉,要么使其与服务器的域或IP匹配.

app.config['SERVER_name'] = 'example.com:80'

运行dev服务器时,名称将是localhost:5000,虽然在这种情况下设置它通常是没有必要的.

总结

以上是内存溢出为你收集整理的python – Flask App只返回404,无论它是如何运行的全部内容,希望文章能够帮你解决python – Flask App只返回404,无论它是如何运行的所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1193339.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-03
下一篇 2022-06-03

发表评论

登录后才能评论

评论列表(0条)

保存