Python Flask应用程序仅对本地主机可见

Python Flask应用程序仅对本地主机可见,python,flask,apache2,ubuntu-16.04,Python,Flask,Apache2,Ubuntu 16.04,正在尝试在Ubuntu 18.04 vps上托管python flask应用程序。我使用的是python版本3.6,而不是虚拟环境,因为vps将仅用于托管一个应用程序 这是此应用程序的apache2配置文件的内容: <VirtualHost *:80> ServerName 15.16.541.21 WSGIScriptAlias / /var/www/psoftware-nis-app/Backend/flask-api/api.wsgi <Directo

正在尝试在Ubuntu 18.04 vps上托管python flask应用程序。我使用的是python版本3.6,而不是虚拟环境,因为vps将仅用于托管一个应用程序

这是此应用程序的apache2配置文件的内容:

<VirtualHost *:80>
   ServerName 15.16.541.21
   WSGIScriptAlias / /var/www/psoftware-nis-app/Backend/flask-api/api.wsgi

   <Directory /var/www/psoftware-nis-app/Backend/flask-api>
      Order deny,allow
      Allow from all
   </Directory>   
</VirtualHost>

默认情况下,flask应用程序仅对本地访问可见。您需要指定主机选项
--host=0.0.0.0
,以使其对其他网络可见

外部可见服务器

如果您运行服务器,您会注意到服务器只是 可从您自己的计算机访问,而不是从网络中的任何其他计算机访问。 这是默认设置,因为在调试模式下 应用程序可以在您的计算机上执行任意Python代码

如果禁用了调试器或信任网络上的用户, 只需添加 --主机=0.0.0.0到命令行:

烧瓶运行——主机=0.0.0.0

这会告诉您的操作系统在所有公共IP上侦听


检查此项

您好,谢谢您的回答,但我怀疑这是否是问题所在,我已经配置:
如果uuuu name uuuuuuuu='uuuuu main uuuuu':app.run(host='0.0.0.0')
这与问题无关,因为OP使用的是Apache,而不是内置Flask dev服务器。您的Apache服务器运行是否正常?你能访问静态页面吗?问题是这个flask应用程序仅用作API,我没有任何页面。我相信apache2的设置是正确的,因为当我使用针对本地主机的curl测试它时,响应是正确的,它返回测试数组。我想指出,这是我第一次托管flask应用程序并使用apache,所以我可能错了。@Daniel我在flask静态文件夹中添加了一个名为test.txt的txt文件,重新加载了apache服务,当我使用curl for localhost/test.txt时,我得到了404。这是否回答了您的问题?问题是,apache是否正确运行?我想,这个问题与烧瓶无关。@Daniel你对如何测试它有什么建议吗?
if __name__ == '__main__': 
    app.run(host='0.0.0.0')