Qwen3-0.6B-FP8部署教程:阿里云ECS上vLLM服务部署+Chainlit公网域名访问配置

张开发
2026/4/12 8:57:16 15 分钟阅读

分享文章

Qwen3-0.6B-FP8部署教程:阿里云ECS上vLLM服务部署+Chainlit公网域名访问配置
Qwen3-0.6B-FP8部署教程阿里云ECS上vLLM服务部署Chainlit公网域名访问配置想快速体验一个轻量级但能力不俗的大语言模型吗今天我们就来手把手教你如何在阿里云ECS服务器上部署Qwen3系列中最新的0.6B-FP8版本模型并用vLLM框架提供高性能推理服务最后再通过Chainlit搭建一个美观的Web界面让你可以通过公网域名随时随地访问你的专属AI助手。整个过程清晰明了即使你是刚接触服务器部署的新手也能跟着步骤顺利完成。我们不仅会部署模型还会配置安全组和域名确保服务稳定、安全地对外提供。1. 准备工作与环境概览在开始之前我们先明确一下这次部署的目标和所需的“食材”。学习目标通过本教程你将学会在阿里云ECS上配置Python环境并安装必要的依赖。使用vLLM框架高效部署Qwen3-0.6B-FP8模型。使用Chainlit快速构建一个交互式Web应用前端。配置安全组规则和域名解析实现公网安全访问。环境与资源服务器一台阿里云ECS实例建议配置不低于2核4GB本教程以Ubuntu 22.04系统为例。模型Qwen3-0.6B-FP8。这是通义千问最新一代的小规模模型经过FP8量化在保持不错性能的同时极大地降低了对显存和内存的需求非常适合在资源有限的服务器上部署。推理框架vLLM。一个专注于LLM推理的高吞吐量、低延迟服务框架能充分发挥现代硬件的性能。Web前端Chainlit。一个可以快速构建类似ChatGPT界面的Python库让模型服务拥有漂亮的交互界面。整个架构很简单vLLM作为后端引擎加载并运行模型Chainlit作为前端与用户交互并将用户的请求转发给vLLM后端。下面我们就从零开始一步步搭建起来。2. 服务器基础环境配置首先我们需要登录到你的阿里云ECS服务器。你可以通过阿里云控制台的VNC连接或者使用SSH工具如Xshell、FinalShell进行连接。2.1 系统更新与依赖安装连接成功后我们先更新系统包列表并安装一些基础编译工具和Python环境。# 更新软件包列表 sudo apt-get update sudo apt-get upgrade -y # 安装基础编译工具和必要依赖 sudo apt-get install -y python3-pip python3-venv git curl wget # 检查Python版本确保是3.8以上 python3 --version2.2 创建项目目录与Python虚拟环境为了环境隔离我们创建一个专属的项目目录和虚拟环境。# 创建一个项目目录例如叫做 qwen3_deploy mkdir ~/qwen3_deploy cd ~/qwen3_deploy # 创建Python虚拟环境 python3 -m venv venv # 激活虚拟环境 source venv/bin/activate激活后你的命令行提示符前面应该会出现(venv)字样这代表你已经在这个独立的Python环境中了。3. 使用vLLM部署模型后端vLLM的安装和使用非常简洁它是我们模型服务的核心。3.1 安装vLLM在激活的虚拟环境中直接使用pip安装vLLM。这个过程可能会安装一些较大的依赖包请耐心等待。pip install vllm安装完成后你可以通过pip list | grep vllm来确认安装成功。3.2 启动vLLM模型服务现在我们用一行命令启动vLLM服务来加载Qwen3-0.6B-FP8模型。vLLM会自动从Hugging Face模型仓库下载模型。# 在项目目录下启动vLLM服务 python -m vllm.entrypoints.openai.api_server \ --model Qwen/Qwen3-0.6B-Instruct-FP8 \ --served-model-name Qwen3-0.6B-FP8 \ --api-key “your-api-key-here” \ --port 8000参数解释--model Qwen/Qwen3-0.6B-Instruct-FP8指定要加载的模型。vLLM会自动识别并下载FP8量化版本。--served-model-name Qwen3-0.6B-FP8给服务起的名字后续调用时会用到。--api-key “your-api-key-here”设置一个API密钥用于保护你的服务请务必替换“your-api-key-here”为你自己设定的复杂字符串。--port 8000指定服务运行的端口号默认为8000。第一次运行会下载模型根据你的网络情况可能需要一些时间。下载完成后你会看到服务成功启动的日志显示模型加载完毕并监听在http://localhost:8000。如何确认服务已启动打开一个新的终端窗口或使用tmux/screen保持服务后台运行连接到服务器查看服务日志# 假设你将启动命令的输出重定向到了 llm.log 文件如教程输入中所示 tail -f /root/workspace/llm.log当你看到类似“Uvicorn running on http://0.0.0.0:8000”和“Model loaded successfully”的信息时说明vLLM后端服务已经就绪。4. 使用Chainlit构建Web前端后端模型服务在8000端口跑起来了但它只是一个API。我们需要一个更友好的界面这就是Chainlit的用武之地。4.1 安装Chainlit在同一个虚拟环境中安装Chainlit。pip install chainlit4.2 创建Chainlit应用文件在项目目录~/qwen3_deploy下创建一个名为app.py的Python文件。cd ~/qwen3_deploy nano app.py将以下代码粘贴到app.py中import chainlit as cl from openai import OpenAI # 配置你的vLLM服务地址和API密钥 # 注意这里假设vLLM服务运行在同一台机器的8000端口 # 如果你的Chainlit运行在其他地方需要将localhost改为服务器的内网IP或公网IP需配置安全组 client OpenAI( base_urlhttp://localhost:8000/v1, # vLLM的OpenAI兼容API地址 api_keyyour-api-key-here # 必须与启动vLLm时设置的api-key一致 ) cl.on_message async def main(message: cl.Message): 处理用户发送的消息。 # 创建一个Chainlit的响应对象表示AI正在思考 msg cl.Message(content) await msg.send() # 调用vLLM后端服务 response client.chat.completions.create( modelQwen3-0.6B-FP8, # 必须与 --served-model-name 一致 messages[ {role: system, content: 你是一个乐于助人的AI助手。}, {role: user, content: message.content} ], streamTrue, # 启用流式输出体验更好 max_tokens512 ) # 流式接收并显示回复内容 for chunk in response: if chunk.choices[0].delta.content is not None: await msg.stream_token(chunk.choices[0].delta.content) # 流式输出完成 await msg.update()保存并退出编辑器在nano中按CtrlX然后按Y再按Enter。4.3 启动Chainlit服务现在我们可以启动Chainlit前端了。Chainlit默认会在7860端口启动一个Web服务。# 在项目目录下启动Chainlit并指定我们刚创建的app.py文件 chainlit run app.py -w参数-w表示自动打开浏览器在服务器上无效主要用于本地开发。在服务器上你只需要知道服务运行在http://localhost:7860即可。验证前端是否正常打开浏览器访问http://你的服务器公网IP:7860注意此时还无法访问因为安全组未开放7860端口。我们下一步就来解决这个问题。5. 配置公网访问与安全目前我们的两个服务vLLM的8000端口和Chainlit的7860端口都只监听在本地localhost。为了让公网能够访问Chainlit界面我们需要做两件事配置阿里云安全组和设置域名。5.1 配置阿里云安全组规则安全组是云服务器的虚拟防火墙。我们需要放行Chainlit服务使用的端口例如7860。登录阿里云控制台。进入云服务器ECS实例列表。找到你正在使用的ECS实例点击实例ID进入详情页。在左侧菜单栏点击网络与安全-安全组。点击安全组ID进入安全组规则配置页面。点击手动添加或快速添加。添加一条入方向规则授权策略允许协议类型自定义TCP端口范围7860/7860 如果你想让vLLM的API也能被公网调用也可以同时添加8000端口但出于安全考虑通常只暴露前端端口授权对象0.0.0.0/0 允许所有IP访问。生产环境建议设置为特定IP或IP段优先级1描述Chainlit Web UI点击保存。现在你应该可以通过http://你的服务器公网IP:7860访问Chainlit界面了。输入一个问题比如“介绍一下你自己”就能看到Qwen3-0.6B-FP8模型的回复了。5.2 可选配置域名访问通过IP和端口访问不够美观我们可以绑定一个域名。购买域名在阿里云万网或其他域名服务商处购买一个域名。域名解析在域名管理后台添加一条A记录将你的域名例如ai.yourdomain.com解析到你的ECS服务器的公网IP地址。配置Chainlit使用域名Chainlit默认服务不支持直接通过域名访问不带端口。更常见的做法是使用Nginx反向代理。安装Nginxsudo apt-get install nginx编辑Nginx配置文件例如/etc/nginx/sites-available/qwen3添加如下配置server { listen 80; server_name ai.yourdomain.com; # 你的域名 location / { proxy_pass http://localhost:7860; # 转发到本地的Chainlit服务 proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection upgrade; proxy_set_header Host $host; proxy_cache_bypass $http_upgrade; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }创建软链接启用配置sudo ln -s /etc/nginx/sites-available/qwen3 /etc/nginx/sites-enabled/测试配置并重启Nginxsudo nginx -t sudo systemctl restart nginx修改安全组此时只需要放行Nginx的80端口HTTP或443端口HTTPS如果你配置了SSL证书可以关闭7860端口的公网访问更安全。现在你就可以通过http://ai.yourdomain.com访问你的AI助手了。6. 服务管理、验证与优化建议部署完成后我们还需要考虑如何让服务稳定运行。6.1 使用进程管理工具推荐在命令行直接运行的服务一旦退出终端就会停止。我们需要使用像systemd或supervisor这样的工具来管理。使用systemd管理vLLM服务创建一个服务文件sudo nano /etc/systemd/system/vllm-qwen.service写入以下内容注意修改路径和你的API密钥[Unit] DescriptionvLLM Service for Qwen3-0.6B-FP8 Afternetwork.target [Service] Typesimple Userroot WorkingDirectory/root/qwen3_deploy EnvironmentPATH/root/qwen3_deploy/venv/bin ExecStart/root/qwen3_deploy/venv/bin/python -m vllm.entrypoints.openai.api_server \ --model Qwen/Qwen3-0.6B-Instruct-FP8 \ --served-model-name Qwen3-0.6B-FP8 \ --api-key “your-strong-api-key” \ --port 8000 Restartalways RestartSec10 [Install] WantedBymulti-user.target同样为Chainlit创建一个服务文件sudo nano /etc/systemd/system/chainlit-qwen.service[Unit] DescriptionChainlit UI for Qwen3 Afternetwork.target vllm-qwen.service [Service] Typesimple Userroot WorkingDirectory/root/qwen3_deploy EnvironmentPATH/root/qwen3_deploy/venv/bin ExecStart/root/qwen3_deploy/venv/bin/chainlit run app.py --host 0.0.0.0 --port 7860 Restartalways RestartSec10 [Install] WantedBymulti-user.target启用并启动服务sudo systemctl daemon-reload sudo systemctl enable vllm-qwen.service chainlit-qwen.service sudo systemctl start vllm-qwen.service chainlit-qwen.service # 查看服务状态 sudo systemctl status vllm-qwen.service6.2 验证服务按照教程输入中提供的方法你可以轻松验证服务验证vLLM后端执行cat /root/workspace/llm.log或查看你的日志文件确认有成功的加载和监听信息。验证Chainlit前端打开浏览器访问你的服务器IP:7860或配置好的域名。在界面中输入问题如“写一首关于春天的诗”观察是否能得到流畅、正确的回复。6.3 进阶优化建议启用API密钥务必在vLLM启动命令和Chainlit配置中设置强密码防止服务被滥用。使用HTTPS通过Nginx配置SSL证书可以使用Let‘s Encrypt免费证书将HTTP升级为HTTPS保证通信安全。监控与日志配置日志轮转定期检查服务日志和服务器资源CPU、内存、GPU使用情况。性能调优根据服务器资源可以调整vLLM的--max-model-len上下文长度、--gpu-memory-utilization等参数以获得最佳性能。前端定制Chainlit支持高度定制你可以修改app.py和chainlit.md等文件来改变UI主题、添加系统提示词、支持文件上传等。7. 总结至此我们已经完成了一个完整的、可用于生产的轻量级大语言模型服务部署。我们来回顾一下关键步骤环境搭建在阿里云ECS上准备好Python和项目环境。后端部署使用vLLM一行命令部署高性能的Qwen3-0.6B-FP8模型推理服务。前端构建用Chainlit快速打造出直观易用的聊天式Web界面。网络打通通过配置安全组规则让服务能在公网被访问通过Nginx反向代理绑定域名提升访问体验和专业度。服务托管使用systemd将前后端服务托管为系统服务实现开机自启和自动重启保障稳定性。这个方案的优势在于轻量、高效、易扩展。Qwen3-0.6B-FP8模型体积小、推理快vLLM框架则提供了工业级的推理吞吐能力而Chainlit让你免于复杂的前端开发。你可以基于这个基础轻松替换成其他支持vLLM的模型或者为Chainlit添加更多交互功能构建属于你自己的AI应用。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。

更多文章