Streamlit 应用程序以“请稍候...”停止,然后停止

Posted

技术标签:

【中文标题】Streamlit 应用程序以“请稍候...”停止,然后停止【英文标题】:The Streamlit app stops with "Please wait... " and then stops 【发布时间】:2022-01-07 15:54:06 【问题描述】:

问题

通过运行streamlit run main.py 启动的应用程序将显示http://IP_ADDRESS:8501 正确显示,但http://DOMAIN_NAME 以“请稍候...”停止并停止。

环境

已使用 Route53 解析域名 在 EC2 (Amazon Linux) 上部署 Streamlit 应用程序并在 Tmux 上运行 Streamlit run main.py 使用nginx将对port80的访问转换为port8501

更改了 Nginx 设置

/etc/nginx/nginx.conf

server 
        listen       80; #default
        listen       [::]:80; #default
        server_name MY_DOMAIN_NAME;
        location / 
          proxy_pass http://MY_IP_ADDRESS:8501;
        
        root         /usr/share/nginx/html; #default

我尝试了什么

我尝试了以下方法,但没有解决问题。

https://docs.streamlit.io/knowledge-base/deploy/remote-start#symptom-2-the-app-says-please-wait-forever

streamlit run my_app.py --server.enableCORS=false

streamlit run my_app.py --server.enableWebsocketCompression=false

【问题讨论】:

【参考方案1】:

尝试以下配置:

server 
    listen 80 default_server;
    server_name MY_DOMAIN_NAME;

    location / 
        proxy_pass http://127.0.0.1:8501/;
            proxy_http_version 1.1;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            proxy_set_header Host $host;
            proxy_set_header Upgrade $http_upgrade;
            proxy_set_header Connection "upgrade";
            proxy_read_timeout 86400;
    

然后,使用这个命令行:

streamlit run my_app.py --server.port 8501 --server.baseUrlPath / --server.enableCORS false --server.enableXsrfProtection false

【讨论】:

以上是关于Streamlit 应用程序以“请稍候...”停止,然后停止的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Winforms 中显示“正在加载...请稍候”消息以获取长加载表单?

制作一个显示“请稍候”JDialog 的摆动线程

在Streamlit中使用Python选择任何小部件后如何停止重新加载页面

“我很忙,请稍候”窗口 - 没有按钮

引导表卡住“正在加载,请稍候”

如何在流程完成之前显示“请稍候 gif”图像