用宝塔将streamlit部署到服务器上,通过域名访问
创始人
2025-01-19 20:04:03
0次

1. 目的

huggingface托管streamlit只能服务两天,所以将自己的streamlit项目部署到云服务器上,以便长期访问。

2. 前提准备

  1. 购买云服务器(国内的需要备案)
  2. 购买域名,完成DNS域名解析(国内的需要备案)
  3. 拥有一个能在本地正常运行的streamlit项目
  4. 我的配置:操作系统Centos,宝塔6.0,python3.10.9

3. 步骤

3.1 生成项目依赖

参考:https://blog.csdn.net/qq_51392112/article/details/131416783

  1. 安装pipreqs
    pip install pipreqs
  2. cmd切换路径到项目文件夹下,生成依赖,此操作会在项目文件夹下生成requirements.txt文件。
    pipreqs ./

3.2 云服务器放行项目端口

在自己购买服务器的平台上放行一个端口(或者叫添加端口规则、添加安全组规则、添加防火墙规则),端口号随意写一个不常用端口,比如8800。协议选TCP。

3.3 在宝塔中部署项目

远程连接服务器后,安装宝塔。宝塔安装链接:https://www.bt.cn/new/download.html
安装教程可参考:https://blog.csdn.net/SoloVersion/article/details/123984445
首次进入宝塔面板。
1.在首页安装推荐套件
[图片]

  1. 上传项目:
    在宝塔侧边栏选择“文件”,新建一个文件夹(英文),把streamlit项目文件都上传进来。
  2. 添加python项目:
    在侧边栏选择“网站”,选择“python项目”,安装python,选择版本(与本地测试时一样的版本),安装完成后选择“添加python项目”。

项目路径选择刚刚的文件夹,
名称随意,
运行文件选择streamlit的运行文件,
项目端口写刚刚在服务器放行的端口
python版本选刚刚安装好的
框架选python
运行方式选python
依赖包选上
[图片]

点击确定
[图片]

这时候显示未启动,不要着急,点击设置会弹出黑色控制台信息,可以看到运行日志在滚动。等待一会儿,控制台会自动关闭,项目状态就会变为运行中。
4. 确认端口放行:
点击侧边栏的“安全”,确认项目的端口被放行,如果没有则手动添加端口规则。
[图片]

  1. 管理域名:
    回到“网站”,点击设置,
    [图片]

点击"域名管理",输入域名,点击"添加"。
[图片]

[图片]

点击外网映射
[图片]
点击“配置文件”,找到下面这一行
[图片]

将Host 127.0.0.1:$server_port 改为Host $host(这一步是为了直接通过域名访问项目,否则就需要域名+端口号才能访问)[图片]
如果此时网站状态变为“未启动”,可以手动打开
[图片]

  1. 运行streamlit:
    点击"终端"
    [图片]

输入streamlit run 你的项目文件.py, 控制台输出信息正常。(此时streamlit默认使用8501端口)
[图片]

点击外部连接,看看能不能正常访问。
关闭终端,点击“设置”,点击“项目日志”,看看日志中有没有error错误,如果没有就没问题。
关闭设置,再点击“终端”,将任务挂起,输入以下内容
nohup streamlit run test.py --server.port=8800
(端口号应设置为你创建项目时用的端口号,比如我这里用8800)控制台会返回:
[图片]

这个作用是为了关闭终端的时候不会关闭streamlit项目进程,运行日志存储在项目文件夹下的nohub.out文件里
双击看看nohup.out的内容是否正常。如果正常,则直接访问域名,看看项目运行结果。

4. 结论

实验成功。

5. 遇到的问题

  1. 如果项目运行不起来,检查一下服务器和宝塔端口设置是否正确。
  2. 如果通过域名访问能看到项目已经在正常运行,即使宝塔面板项目变为“未启动”,不要去点“启动”

6. 参考

  1. https://blog.csdn.net/qq_51392112/article/details/131416783
  2. https://blog.csdn.net/SoloVersion/article/details/123984445
  3. https://blog.csdn.net/tianhai12/article/details/131358430
  4. https://blog.csdn.net/weixin_45727633/article/details/135479019

相关内容

热门资讯

一分钟揭秘辅助!微乐小程序游戏... 一分钟揭秘辅助!微乐小程序游戏破解器,微乐家乡小程序修改器-一直真的有辅助挂1)微乐小程序游戏破解器...
技术分享开挂!微信小程序微乐辅... 技术分享开挂!微信小程序微乐辅助器,微乐贵阳捉鸡麻将能不能开挂-一贯是真的有辅助工具在进入微信小程序...
科技介绍开挂!微乐小程序家乡自... 科技介绍开挂!微乐小程序家乡自建房辅助app,微乐自建房脚本如何下载-其实是有辅助神器1、超多福利:...
重大通报辅助!微信小程序微乐辅... 重大通报辅助!微信小程序微乐辅助器教程,微乐小程序微乐家乡辅助器-都是真的有辅助插件重大通报辅助!微...
玩家必备教程辅助!微信小程序游... 玩家必备教程辅助!微信小程序游戏破解微乐游戏,微信小程序微乐安徽辅助苹果-确实有辅助脚本1、完成微信...
科技分享开挂!微乐手游辅助脚本... 科技分享开挂!微乐手游辅助脚本平台,微乐小程序辅助器免费-其实有辅助神器一、微乐手游辅助脚本平台可以...
发现玩家辅助!微乐小程序辅助工... 您好,微乐小程序辅助工具这款游戏可以开挂的,确实是有挂的,需要了解加去威信【136704302】很多...
推荐一款透视挂!微乐小程序家乡... 推荐一款透视挂!微乐小程序家乡自建房辅助app,微乐河南小程序微乐辅助脚本-原来存在有辅助挂微乐小程...
一起来探讨开挂!微乐小程序开挂... 一起来探讨开挂!微乐小程序开挂黑科技,微乐自建房免费黑科技推荐-本来真的是有辅助脚本小薇(辅助器软件...
2024教程辅助!微信小程序微... 2024教程辅助!微信小程序微乐辅助免费,微乐小程序辅助教程-都是是真的有辅助挂1、点击下载安装,微...