You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在EC2服务器通过Nginx+Tmux部署多Streamlit子域名应用遇阻

单台EC2服务器上Nginx+Tmux部署多Streamlit应用的问题

阶段1:单个应用部署成功

成功部署单个Streamlit应用时的Nginx配置如下:

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location / {
                proxy_pass http://localhost: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;
        } 
}

阶段2:部署两个应用失败

尝试部署两个应用时配置出错,Nginx配置如下:

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location /app {
                proxy_pass http://localhost: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;
        }
}

        location /upload {
                proxy_pass http://localhost:8502;
                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;
        }
}

浏览器控制台出现以下静态资源404错误:

  • GET http://xx.xxx.xx.xxx/static/js/main.4e910df2.js net::ERR_ABORTED 404 (Not Found)
  • GET http://xx.xxx.xx.xxx/static/css/main.f4a8738f.css net::ERR_ABORTED 404 (Not Found)
    上述文件属于Streamlit的site-packages目录。

阶段3:修复尝试后仍存在新错误

尝试添加root目录并在location后加斜杠修改配置,更新后的Nginx配置如下:

server {
        listen 80 default_server;
        listen [::]:80 default_server;

        root /var/www/html;

        index index.html index.htm index.nginx-debian.html;

        server_name _;

        location /app/ {
                root /home/ubuntu/.local/lib/python3.8/site-packages/streamlit;
                proxy_pass http://localhost: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;
        }

        location /upload/ {
                root /home/ubuntu/.local/lib/python3.8/site-packages/streamlit;
                proxy_pass http://localhost:8502;
                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;
        }
}

但仍出现新的404错误:

  • GET http://xx.xxx.xx.xxx/app/_stcore/health 404 (Not Found)
  • GET http://xx.xxx.xx.xxx/app/_stcore/allowed-message-origins 404 (Not Found)

内容的提问来源于stack exchange,提问作者John Jam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 15:07:53