DeepSeek-OCR入门必看:STREAMLIT_SERVER_PORT如何修改及多端口部署

张开发
2026/4/13 16:24:30 15 分钟阅读

分享文章

DeepSeek-OCR入门必看:STREAMLIT_SERVER_PORT如何修改及多端口部署
DeepSeek-OCR入门必看STREAMLIT_SERVER_PORT如何修改及多端口部署1. 为什么需要修改默认端口当你第一次运行DeepSeek-OCR项目时可能会遇到一个常见问题默认的8501端口已经被其他应用占用。这种情况在开发环境中很常见特别是当你同时运行多个Streamlit应用或者其他web服务时。端口冲突会导致应用无法正常启动你会看到类似Address already in use的错误信息。这时候就需要修改默认的STREAMLIT_SERVER_PORT来解决问题。除了避免端口冲突外修改端口还有这些实际用途在同一台服务器上部署多个DeepSeek-OCR实例满足企业内网的安全端口规范要求与其他服务共用服务器时的端口规划2. 快速修改端口的方法2.1 方法一命令行参数最推荐这是最简单直接的方法在启动命令后添加--server.port参数streamlit run app.py --server.port8502如果你想使用其他端口比如8503、8504只需要修改数字即可# 使用8503端口 streamlit run app.py --server.port8503 # 使用8504端口 streamlit run app.py --server.port85042.2 方法二环境变量设置如果你习惯使用环境变量可以这样设置# Linux/Mac export STREAMLIT_SERVER_PORT8502 streamlit run app.py # Windows set STREAMLIT_SERVER_PORT8502 streamlit run app.py2.3 方法三配置文件修改对于长期使用的环境可以修改配置文件# 首先生成默认配置文件如果还没有 streamlit config show # 然后编辑配置文件 # 配置文件通常位于 ~/.streamlit/config.toml在配置文件中添加或修改[server] port 85023. 多端口部署实战指南3.1 单机多实例部署如果你想在一台服务器上运行多个DeepSeek-OCR实例可以这样做# 第一个实例使用8502端口 streamlit run app.py --server.port8502 # 第二个实例使用8503端口 streamlit run app.py --server.port8503 # 第三个实例使用8504端口 streamlit run app.py --server.port8504 这样你就可以通过不同的端口访问不同的实例http://你的服务器IP:8502http://你的服务器IP:8503http://你的服务器IP:85043.2 使用脚本批量管理创建管理脚本让多实例部署更简单#!/bin/bash # deploy_multiple_instances.sh PORTS(8502 8503 8504) for port in ${PORTS[]}; do echo 启动DeepSeek-OCR实例端口: $port streamlit run app.py --server.port$port sleep 2 done echo 所有实例已启动完成 echo 访问地址: for port in ${PORTS[]}; do echo http://localhost:$port done3.3 Docker多容器部署如果你使用Docker可以这样部署多实例# Dockerfile FROM python:3.9 WORKDIR /app COPY . . RUN pip install -r requirements.txt EXPOSE 8502 CMD [streamlit, run, app.py, --server.port8502]然后使用不同端口启动多个容器# 第一个容器 docker run -d -p 8502:8502 deepseek-ocr-app # 第二个容器 docker run -d -p 8503:8502 deepseek-ocr-app # 第三个容器 docker run -d -p 8504:8502 deepseek-ocr-app4. 常见问题与解决方案4.1 端口被占用怎么办如果你设置的端口也被占用了可以这样排查# 查看端口占用情况 netstat -tulpn | grep :8502 # 或者使用lsof lsof -i :8502 # 找到占用进程后可以选择终止进程或者换一个端口4.2 防火墙配置如果修改端口后无法访问记得检查防火墙设置# 开放新端口以8502为例 sudo ufw allow 8502 sudo firewall-cmd --permanent --add-port8502/tcp sudo firewall-cmd --reload4.3 性能考虑运行多个实例时要注意资源分配# 可以使用工具监控资源使用情况 htop nvidia-smi # 如果是GPU环境 # 如果资源紧张可以考虑限制每个实例的资源使用5. 实用技巧和建议5.1 端口选择建议使用8501-8599范围内的端口这是Streamlit常用的端口范围避免使用知名服务端口如80、443、8080等在生产环境中使用大于1024的端口5.2 自动化部署脚本创建自动化脚本简化多实例管理# deploy_manager.py import subprocess import time class DeepSeekDeployer: def __init__(self, ports): self.ports ports self.processes [] def start_instances(self): for port in self.ports: cmd fstreamlit run app.py --server.port{port} process subprocess.Popen(cmd, shellTrue) self.processes.append(process) print(f实例已启动端口: {port}) time.sleep(2) def stop_instances(self): for process in self.processes: process.terminate() print(所有实例已停止) # 使用示例 deployer DeepSeekDeployer([8502, 8503, 8504]) deployer.start_instances()5.3 监控和日志为每个实例配置独立的日志# 启动时重定向日志 streamlit run app.py --server.port8502 log_8502.log 21 streamlit run app.py --server.port8503 log_8503.log 21 6. 总结通过本文的介绍你应该已经掌握了DeepSeek-OCR端口修改和多端口部署的全部技巧。记住这几个关键点端口修改很简单使用--server.port参数就能轻松修改多实例部署很实用让你能够充分利用服务器资源自动化是好朋友使用脚本管理多个实例更高效现在你可以根据自己的需求灵活配置DeepSeek-OCR的服务端口无论是解决端口冲突问题还是部署多个实例满足业务需求都能轻松应对。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章