Streamlit:使用Docker在云服务器上部署Streamlit并绑定域名
为了达到在云服务器上部署Streamlit并绑定域名的效果,本教程将逐步指导您从购买云服务器到通过域名访问Streamlit页面。
以下是实现这一目标的详细步骤。
1.购买一台云服务器(如果你已经有的话可以跳过这一步)。
正如@jackiexiao的教程中所解释的,首先,购买合适的云服务器来部署Streamlit。
请观看教程的第一部分,了解如何选择服务器。
2、部署Streamlight(强制IP+端口访问)确保已获取云服务器的公网IP,并使用SSH或SFTP远程连接服务器。
1.通过SSH和SFTP连接到服务器。
使用ssh或xshell/vscode等客户端连接到服务器。
确保连接成功后可以通过终端执行任何命令。
2.将整个Python项目目录传输到服务器,并将包含项目资源文件和Python脚本的示例项目(my_st.zip)上传到服务器。
创建同名目录并使用sftp上传整个项目文件夹。
3、在服务器端安装Python等库,通过pip安装Streamlit等需要的库。
4.运行Streamlit并发布页面。
进入项目目录,运行Streamlit并发布网页。
nohup在后台运行确保使用Ctrl+C或Ctrl+C关闭,以免进程受到影响。
3、使用Docker部署Streamlit实现端口映射。
为了解决Streamlight无法设置为80端口访问的问题,可以使用Docker实现端口映射。
1.了解DockerDocker是一个应用程序打包、分发和部署工具,提供轻量级的虚拟环境。
2.安装Docker安装Docker并切换到Ubuntu等用户帐户。
3.创建Docker镜像。
在根目录下创建docker_file目录,并将Dockerfile写入其中。
使用docker命令构建镜像。
4.运行Docker镜像生成容器。
运行镜像生成容器。
使用Docker命令将容器端口映射到服务器的80端口,即可通过公网IP访问Streamlit页面。
4.购买或拥有域名,绑定域名,完成注册并购买云解析DNS。
在DNS控制台添加一条记录,用于解析服务器上的域名。
通过域名访问Streamlit页面。
5、多个域名解析到多个端口。
使用Nginx等反向代理技术将多个域名解析到多个端口。
目前正在学习Nginx配置,详细步骤稍后添加。
腾讯云服务器怎么绑定域名
腾讯云服务器绑定域名教程1、点击云解析控制面板上的“添加”按钮,然后会出现添加域名对话框。
输入您要添加的域名,然后单击“确定”完成操作。
2、域名添加成功后,您的域名将显示在域名列表中。
记录数为两条。
域名的名称服务器。
如下图所示。
3.添加域名后,为了使域名在整个网络中有效,需要修改域名的DNS目录。
按照腾讯云解析的域名注册商提供的方法,在添加域名后的第二步添加域名的Nameserver。
的值域名中默认有两条NS记录;在此示例中为ns3.dnsv3.com、ns4.dnsv3.com。
由于不同地区的ISP提供商刷新域名DNS的时间不同;域名全球生效一般需要0到72小时。