Streamlit 应用程序以 "Please wait... " 停止,然后停止
The Streamlit app stops with "Please wait... " and then stops
问题
由 运行ning streamlit run main.py
启动的应用程序将显示 http://IP_ADDRESS:8501
正确显示,但 http://DOMAIN_NAME
停止并显示“请稍候...”并停止。
环境
- 域名已通过 Route53 解析
- 在 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
我试过的
我尝试了以下方法,但没有解决问题。
streamlit run my_app.py --server.enableCORS=false
streamlit run my_app.py --server.enableWebsocketCompression=false
尝试以下配置:
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
如果有人使用 Ambassador 作为他们进入 kubernetes 的入口,您需要允许 websockets。这在 https://www.getambassador.io/docs/edge-stack/latest/howtos/websockets/
中有解释
但是,您基本上需要将以下内容添加到您的映射中
allow_upgrade:
- websocket
问题
由 运行ning streamlit run main.py
启动的应用程序将显示 http://IP_ADDRESS:8501
正确显示,但 http://DOMAIN_NAME
停止并显示“请稍候...”并停止。
环境
- 域名已通过 Route53 解析
- 在 EC2(Amazon Linux)上部署 Streamlit 应用程序并在 Tmux 上部署 运行
- 使用Nginx将80端口的访问转为8501端口
Streamlit run main.py
更改了 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
我试过的
我尝试了以下方法,但没有解决问题。
streamlit run my_app.py --server.enableCORS=false
streamlit run my_app.py --server.enableWebsocketCompression=false
尝试以下配置:
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
如果有人使用 Ambassador 作为他们进入 kubernetes 的入口,您需要允许 websockets。这在 https://www.getambassador.io/docs/edge-stack/latest/howtos/websockets/
中有解释但是,您基本上需要将以下内容添加到您的映射中
allow_upgrade:
- websocket