首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我怎样才能让我的flask-app在我的站点子域上运行?

问我怎样才能让我的flask-app在我的站点子域上运行?
EN

Stack Overflow用户
提问于 2017-07-24 07:09:47
回答 3查看 10K关注 0票数 1

例如,我想在http://api.domain.com上运行flask-app。但是,我不知道如何做到这一点,并且flask文档也没有任何帮助。我通过SSH使用共享的namecheap web服务器来运行python。我打开了端口8080、8181和8282。

服务器端代码:

代码语言:javascript
复制
from flask import Flask
from flask import Blueprint

app = Flask(__name__)
app.config['SERVER_NAME'] = 'domain.com'

@app.route('/status')
def status():
   return 'Status : Online'

bp = Blueprint('subdomain', __name__, subdomain="api")

app.register_blueprint(bp)

if __name__ == '__main__':
   app.run(host=app.config["SERVER_NAME"],port=8181,debug=True)

当我访问http://www.api.domain.com/status时,它返回一个404错误。SSH控制台上不显示任何内容。

任何帮助,如果非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-07-24 07:21:27

首先要做的是:

http (即没有SSL证书的web服务器)是不安全的。您应该设置证书,并始终使用端口443连接到外部。

然后,在namecheap上,您需要定义一个指向子域的CNAME条目。

在Namecheap中,单击域->管理,然后单击高级DNS

创建一个新记录,选择CNAME作为类型,并输入子域名(只是顶层)作为主机,然后输入您的服务器所在的IP作为值(TTL (生存时间)是您下次想要更改它时更改所需的时间,1,10分钟对于调试内容很有用,但DNS无论如何都不会认可这一点...)

请稍等几分钟,您应该可以访问位于该子域名的服务器。

现在,如果您使用相同的IP作为want服务器,但不同的端口,这基本上不会做你想要的。DNS会将子域流量转发到您的(相同)服务器IP,因此如果您的will服务器在端口443上,您也可以通过https://api.domain.com到达该端口。如果您的应用程序接口使用端口8080或8081,则需要始终指定端口才能实际到达子域中的应用程序接口服务器(即api.domain.com:8080 )。

DNS只是将子域名转发到您告诉它的IP。

票数 5
EN

Stack Overflow用户

发布于 2018-04-07 18:04:21

我用Python中的龙卷风解决了这个问题。我已经回答了这个问题,它运行良好

代码语言:javascript
复制
from tornado.wsgi import WSGIContainer
from tornado.httpserver import HTTPServer
from tornado.ioloop import IOLoop
from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
    return 'Hello, World!'
http_server = HTTPServer(WSGIContainer(app))
http_server.listen(int(5000),address="ip_address_of_your_server_machine")
IOLoop.instance().start()

现在您可以像访问www.example.com:5000一样访问此页面

票数 0
EN

Stack Overflow用户

发布于 2019-05-18 06:17:30

实际上Flask本身并不意味着要运行服务器,它只是为了调试,如果你想运行一个web应用,你应该在Apache或Nginx后面运行一些wsgi,这里有一个关于Ubuntu18.04LTS的简单示例:https://www.digitalocean.com/community/tutorials/how-to-serve-flask-applications-with-uswgi-and-nginx-on-ubuntu-18-04

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

https://stackoverflow.com/questions/45270673

复制
相关文章

相似问题

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