Qwen3模型Ubuntu服务器部署全流程详解

张开发
2026/4/10 17:11:14 15 分钟阅读

分享文章

Qwen3模型Ubuntu服务器部署全流程详解
Qwen3模型Ubuntu服务器部署全流程详解最近有不少朋友在问怎么把Qwen3这样的大模型部署到自己的服务器上。特别是那些刚接触AI部署的朋友面对一堆技术名词和步骤常常觉得无从下手。其实现在有了像星图这样的GPU平台整个部署过程已经简化了很多基本上就是“点点鼠标敲几行命令”的事。今天我就以一个实际的Ubuntu 20.04服务器为例带你走一遍完整的部署流程。从最开始的服务器环境准备到通过平台获取镜像并启动再到最后的服务验证和开机自启配置每一步我都会用最直白的话讲清楚。目标是让你看完就能动手顺利地把Qwen3跑起来。1. 部署前准备理清思路与检查清单在开始敲命令之前我们先花几分钟理清整个流程。这次部署的核心思路是利用平台预制的镜像快速搭建一个包含所有依赖的模型服务环境。这比我们自己从零开始安装Python、PyTorch、CUDA要省心太多了。你需要准备的东西很简单一台Ubuntu 20.04的服务器这是我们的操作基地。建议选择带有NVIDIA GPU的机型这样模型推理速度会快很多。一个星图平台的账号用来获取我们需要的Qwen3模型镜像。基础的Linux命令行操作知识比如会用cd切换目录会用sudo执行管理命令会用vim或nano编辑文件。别担心后面涉及的命令我都会解释。整个流程可以概括为四个阶段准备服务器、获取并启动镜像、验证服务、配置自启。接下来我们就进入实战环节。2. 服务器基础环境搭建拿到一台全新的Ubuntu 20.04服务器后我们首先要确保它的“地基”是稳固的。这一步主要是安装GPU驱动和Docker为后续运行模型镜像做好准备。2.1 更新系统与安装必备工具首先通过SSH连接到你的服务器。登录后第一件事是更新系统的软件包列表并升级已有的软件。这能确保我们后续安装的依赖都是较新的版本。sudo apt update sudo apt upgrade -y更新完成后安装一些我们后续会用到的工具比如用于管理软件源的apt-transport-https以及编辑配置文件常用的vim。sudo apt install -y apt-transport-https ca-certificates curl software-properties-common vim2.2 安装NVIDIA GPU驱动如果你的服务器有NVIDIA GPU那么安装正确的驱动是必须的。这里推荐使用Ubuntu自带的ubuntu-drivers工具来安装它会自动检测并推荐合适的驱动版本。# 安装ubuntu-drivers工具 sudo apt install -y ubuntu-drivers-common # 自动安装推荐的驱动 sudo ubuntu-drivers autoinstall安装完成后需要重启服务器让驱动生效。sudo reboot重启后重新登录运行下面的命令来验证驱动是否安装成功。如果能看到GPU的型号和信息就说明驱动安装好了。nvidia-smi2.3 安装与配置DockerDocker是我们这次部署的核心工具平台提供的模型镜像是通过Docker来运行的。安装Docker添加Docker的官方GPG密钥和软件源然后进行安装。# 添加Docker的官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 设置稳定版仓库 echo deb [archamd64 signed-by/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable | sudo tee /etc/apt/sources.list.d/docker.list /dev/null # 安装Docker引擎 sudo apt update sudo apt install -y docker-ce docker-ce-cli containerd.io安装NVIDIA Docker工具包为了让Docker容器能够使用GPU我们需要安装nvidia-docker2。# 添加NVIDIA容器工具包仓库 distribution$(. /etc/os-release;echo $ID$VERSION_ID) curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list # 安装nvidia-docker2并重新加载Docker配置 sudo apt update sudo apt install -y nvidia-docker2 sudo systemctl restart docker验证Docker GPU支持运行一个测试命令检查Docker是否能正确调用GPU。sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi如果这个命令能成功输出和直接在服务器上运行nvidia-smi类似的信息那么恭喜你Docker和GPU环境就全部配置妥当了。3. 获取并启动Qwen3模型镜像环境准备好后最核心的一步来了——启动模型服务。得益于平台提供的预制镜像这个过程变得异常简单。3.1 从星图平台获取镜像首先登录你的星图平台控制台。在镜像市场或相关的模型服务页面找到Qwen3的镜像。通常平台会提供一个完整的镜像名称格式类似于registry.cn-xxxxx.com/namespace/qwen3:latest。在服务器上使用docker pull命令拉取这个镜像。这个过程可能会花费一些时间因为镜像文件比较大。sudo docker pull registry.cn-xxxxx.com/namespace/qwen3:latest请将上面的镜像地址替换为你从平台获取的真实地址。3.2 启动模型服务容器镜像拉取到本地后我们就可以用它来启动一个容器了。启动命令需要配置一些参数让服务能够正常运行并被访问。sudo docker run -d \ --name qwen3-server \ --gpus all \ -p 8000:8000 \ -v /data/qwen3:/app/data \ registry.cn-xxxxx.com/namespace/qwen3:latest我来解释一下这条命令的几个关键部分-d让容器在后台运行。--name qwen3-server给容器起个名字方便管理。--gpus all将服务器的所有GPU都分配给这个容器使用。-p 8000:8000端口映射。将容器内部的8000端口映射到服务器的8000端口这样我们就能通过服务器的IP和端口来访问模型服务了。-v /data/qwen3:/app/data数据卷挂载。将服务器上的/data/qwen3目录挂载到容器内的/app/data可以用来持久化保存模型文件或日志。最后一行就是你要启动的镜像名称。运行命令后可以用下面的命令查看容器是否启动成功。sudo docker ps你应该能看到一个名为qwen3-server的容器正在运行。3.3 配置网络与安全组重要服务在容器里跑起来了但外网可能还访问不到。这里有两个地方需要检查服务器防火墙Ubuntu默认的防火墙工具是ufw。我们需要放行8000端口。sudo ufw allow 8000 sudo ufw reload云平台安全组如果你用的是阿里云、腾讯云等云服务器还需要在云平台的控制台里找到你服务器的安全组规则添加入站规则允许TCP协议的8000端口。这一步非常关键否则外网无法连接。4. 服务验证与测试服务启动并开放端口后我们得验证一下它是不是真的在工作并且能正确响应请求。4.1 使用curl进行快速测试curl是一个命令行工具可以用来发送HTTP请求非常适合做快速测试。我们先在服务器本地测试一下。curl -X POST http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d { model: qwen3, messages: [ {role: user, content: 你好请介绍一下你自己。} ] }如果服务正常你会看到返回一串JSON格式的数据里面包含了模型生成的回复内容。如果返回Connection refused之类的错误说明服务没启动成功需要回去检查Docker容器的日志。# 查看容器日志排查错误 sudo docker logs qwen3-server4.2 使用Python脚本进行完整测试本地测试通过后我们可以写一个简单的Python脚本从另一台机器比如你的个人电脑来测试这更接近真实的使用场景。在你的电脑上创建一个名为test_qwen3.py的文件填入以下内容。记得把server_ip换成你服务器的公网IP地址。import requests import json # 配置服务器地址 server_ip 你的服务器公网IP # 请替换 url fhttp://{server_ip}:8000/v1/chat/completions # 准备请求数据 payload { model: qwen3, messages: [ {role: user, content: 用Python写一个快速排序函数的示例。} ], max_tokens: 500 } headers { Content-Type: application/json } # 发送请求 try: response requests.post(url, datajson.dumps(payload), headersheaders, timeout30) response.raise_for_status() # 检查请求是否成功 # 解析并打印结果 result response.json() if choices in result and len(result[choices]) 0: reply result[choices][0][message][content] print(模型回复) print(reply) else: print(响应格式异常, result) except requests.exceptions.ConnectionError: print(错误无法连接到服务器。请检查IP地址、端口、防火墙及安全组设置。) except requests.exceptions.Timeout: print(错误请求超时。) except Exception as e: print(f发生未知错误{e})运行这个脚本python3 test_qwen3.py如果一切顺利你的电脑上就会打印出Qwen3模型生成的Python代码。这标志着从外网访问模型服务的整个链路已经完全打通。5. 配置系统服务实现开机自启我们肯定不希望每次服务器重启后都要手动去启动Docker容器。所以最后一步是把它配置成系统服务实现开机自动启动。我们将使用Systemd来管理这个服务。创建一个服务配置文件sudo vim /etc/systemd/system/qwen3.service在文件中写入以下内容。注意ExecStart命令中的镜像名称需要替换成你实际使用的。[Unit] DescriptionQwen3 Model Docker Container Requiresdocker.service Afterdocker.service network-online.target [Service] Typesimple Restartalways RestartSec10 ExecStart/usr/bin/docker run --rm --name qwen3-server --gpus all -p 8000:8000 -v /data/qwen3:/app/data registry.cn-xxxxx.com/namespace/qwen3:latest ExecStop/usr/bin/docker stop qwen3-server [Install] WantedBymulti-user.target保存退出后执行以下命令来启用并启动这个服务# 重新加载Systemd配置 sudo systemctl daemon-reload # 启用服务开机自启 sudo systemctl enable qwen3.service # 立即启动服务 sudo systemctl start qwen3.service # 查看服务状态 sudo systemctl status qwen3.service看到状态显示为active (running)就说明系统服务配置成功了。现在即使服务器重启Qwen3模型服务也会自动运行起来。整个流程走下来感觉部署的难点其实不在技术本身而在于环境的准备和网络配置的细节。只要按照步骤把驱动、Docker、防火墙和安全组这几个点都检查到位后面启动镜像和测试都是水到渠成的事。用平台镜像最大的好处就是省心不用自己去折腾复杂的Python环境和CUDA版本兼容问题。对于想快速搭建一个模型服务来试用或者开发原型的朋友来说这个方法非常高效。如果你在部署过程中遇到了其他问题多看看Docker容器的日志那里通常会有明确的错误提示。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章