问题
通过运行streamlit run main.py
启动的应用程序将正确显示http://IP_ADDRESS:8501
,但http://DOMAIN_NAME
会停止并显示“请稍候...“。
环境
- 域名已用Route 53解析
- 在EC2(Amazon Linux)上部署Streamlit应用程序并在Tmux上运行
Streamlit run main.py
- 使用Nginx将对端口80的访问转换为端口8501
已更改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
5条答案
按热度按时间vxf3dgd41#
如果有人使用Ambassador作为他们的kubernetes入口,你需要允许websockets。
但是,您实际上需要将以下内容添加到Map中
sdnqo3pr2#
尝试以下配置:
然后使用以下命令行:
jmo0nnb33#
我认为唯一的问题是Streamlit试图打开浏览器,因此只需在run命令中添加以下参数:
streamlit run my_app.py --server.headless=true
或者尝试在需要创建的配置文件中更改此设置:
请参阅this说明。
最好的。
yzuktlbb4#
尝试将Streamlit代码升级到1.11.1版。请参考以下链接:https://discuss.streamlit.io/t/security-notice-immediately-upgrade-your-streamlit-code-to-version-1-11-1/28399
mbyulnm05#
在我的例子中,修复是将
streamlit
从v1.14.0
降级为v1.11.0
。什么没起作用:
--server.headless=true
--server.enableCORS=false
--server.enableWebsocketCompression=false
如何部署应用程序?GCS使用Cloud Run