水墨江南模型Ubuntu服务器部署全攻略从系统安装到服务上线最近有不少朋友在问怎么才能在自己公司的服务器上把那个效果很惊艳的“水墨江南”AI模型给跑起来。这确实是个挺实际的需求毕竟把模型部署在本地数据安全可控调用也更灵活。但一提到要在Linux服务器上从头开始搭环境很多人就有点发怵了感觉步骤多怕出错。别担心这篇文章就是为你准备的。我会手把手带你走一遍完整的流程从给一台新服务器装Ubuntu系统开始一直到模型服务稳定运行甚至实现开机自启。整个过程我会尽量讲得细一点把可能遇到的坑都提前指出来。只要你跟着步骤一步步来哪怕之前对Linux服务器不太熟也能顺利搞定。我们的目标很明确在一台安装了Ubuntu 20.04 LTS的服务器上成功部署水墨江南模型并让它像一个标准的系统服务一样稳定、可靠地运行起来。1. 第一步准备你的Ubuntu服务器万事开头难但第一步走稳了后面就顺了。我们首先得有一台“干净”的Ubuntu服务器。这里有两种常见情况一是你拿到了一台全新的物理服务器或云服务器需要安装操作系统二是服务器已经装好了Ubuntu但需要做一些基础配置。我们两种情况都覆盖到。1.1 安装Ubuntu 20.04 LTS操作系统如果你面对的是一台空白服务器那么安装系统是第一步。Ubuntu 20.04 LTS长期支持版是个非常稳定且社区支持完善的选择非常适合用来部署生产环境的应用。制作安装介质你需要从Ubuntu官网下载20.04 LTS的ISO镜像文件然后把它刻录到一个U盘上做成启动盘。在Windows下可以用Rufus工具在macOS下可以用Etcher操作都很简单。启动并安装把U盘插到服务器上开机进入BIOS/UEFI设置把启动顺序改成从U盘启动。然后就会进入Ubuntu的安装界面。关键安装选项语言和键盘按你习惯的选。安装类型对于服务器我强烈建议选择“最小化安装”Minimal installation。这会只安装最基本的系统组件没有图形界面更轻量、更安全。我们后面所有操作都在命令行完成。磁盘分区如果你是新手并且服务器数据不重要可以直接选择“清除整个磁盘并安装Ubuntu”让安装程序自动分区最省事。如果服务器上有其他数据务必选择“其他选项”进行手动分区这里要格外小心。用户设置设置你的用户名、计算机名和密码。请务必记住你设置的密码这是你以后登录服务器的钥匙。建议创建一个有sudo权限的用户。等待安装完成接下来就是等待文件复制和系统配置安装完成后会提示重启。重启前记得拔掉U盘让服务器从硬盘启动。1.2 基础系统配置与连接系统装好后我们首先要能连接到它并做一些基础的配置。对于云服务器你通常可以通过服务商提供的网页控制台直接访问。对于物理服务器你可能需要连接显示器和键盘或者通过IPMI等带外管理工具。更通用的方式是使用SSH远程连接这也是日后管理服务器最主要的方式。获取服务器IP地址在服务器终端里输入ip addr show命令找到类似于eth0或ens33的网络接口记下它的inet地址比如192.168.1.100。如果是云服务器控制台会直接提供公网IP。从你的电脑连接打开你电脑上的终端Windows可用PowerShell或PuttymacOS/Linux直接用Terminal。输入命令ssh 你的用户名服务器IP地址然后按提示输入密码。例如ssh zhangsan192.168.1.100首次登录后的必要操作更新软件包列表连接成功后第一件事就是更新系统。输入sudo apt update升级已安装的包可选但推荐sudo apt upgrade -y这个命令会升级所有可以升级的软件包-y参数表示自动确认。这个过程可能需要一点时间。设置时区确保日志时间准确sudo timedatectl set-timezone Asia/Shanghai安装常用工具安装一些后续可能会用到的工具比如用于解压的unzip用于网络下载的wget或curl。sudo apt install -y wget curl unzip好了现在你应该已经成功登录到了一台更新过的、干净的Ubuntu 20.04服务器上。我们的舞台已经搭好接下来就要请出最重要的“演员”了——GPU驱动。2. 第二步安装NVIDIA GPU驱动与Docker水墨江南这类AI模型对计算能力要求很高通常需要GPU来加速。所以如果你的服务器有NVIDIA显卡这一步是必须的。如果没有GPU模型也能用CPU跑但速度会慢很多不适合生产环境。我们假设你有GPU。2.1 安装NVIDIA显卡驱动在Ubuntu上安装NVIDIA驱动有几种方法这里介绍最稳妥的一种使用系统自带的ubuntu-drivers工具。添加显卡驱动PPA源可选但能获取较新驱动sudo add-apt-repository ppa:graphics-drivers/ppa -y sudo apt update自动检测并安装推荐驱动sudo ubuntu-drivers autoinstall这个命令会自动检测你的显卡型号并安装合适的驱动版本。这是最省心的方法。重启服务器驱动安装完成后必须重启才能生效。sudo reboot验证驱动安装重启后重新SSH登录服务器运行以下命令检查驱动是否安装成功nvidia-smi如果看到类似下面的输出显示了GPU型号、驱动版本、CUDA版本以及GPU的使用情况那就恭喜你驱动安装成功了----------------------------------------------------------------------------- | NVIDIA-SMI 515.86.01 Driver Version: 515.86.01 CUDA Version: 11.7 | |--------------------------------------------------------------------------- | GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC | | Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. | | | | MIG M. | || | 0 NVIDIA GeForce ... On | 00000000:01:00.0 Off | N/A | | 30% 45C P0 50W / 200W | 100MiB / 12288MiB | 0% Default |2.2 安装Docker与NVIDIA Container ToolkitDocker是容器化技术的代表它能将应用及其依赖打包成一个标准化的单元彻底解决“在我机器上能跑”的环境问题。我们要用Docker来运行水墨江南模型的镜像。安装Docker# 卸载旧版本如果有 sudo apt remove docker docker-engine docker.io containerd runc -y # 安装依赖 sudo apt update sudo apt install -y apt-transport-https ca-certificates curl software-properties-common # 添加Docker官方GPG密钥 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg # 设置稳定版仓库 echo deb [arch$(dpkg --print-architecture) 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 # 将当前用户加入docker组避免每次都要sudo sudo usermod -aG docker $USER重要执行完usermod命令后你需要完全退出当前的SSH会话然后重新登录这个改动才会生效。验证Docker安装重新登录后运行docker --version能看到版本号即表示安装成功。再运行一个测试容器docker run hello-world如果能看到“Hello from Docker!”的欢迎信息说明Docker运行正常。安装NVIDIA Container Toolkit为了让Docker容器能使用宿主机的GPU我们需要安装这个工具。# 添加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 # 安装工具包 sudo apt update sudo apt install -y nvidia-container-toolkit # 重启Docker服务 sudo systemctl restart docker验证GPU在Docker中可用运行一个测试命令检查Docker容器内是否能识别GPU。docker run --rm --gpus all nvidia/cuda:11.8.0-base-ubuntu20.04 nvidia-smi如果这个命令能输出和直接在宿主机上运行nvidia-smi类似的GPU信息那就大功告成了这说明我们的Docker已经具备了调用GPU的能力。至此最复杂、最容易出错的底层环境已经配置完毕。接下来就是“收获”的时刻了——拉取并运行我们的水墨江南模型。3. 第三步拉取与运行水墨江南模型镜像环境准备好了部署模型本身反而变得简单。我们将从星图镜像广场获取预置好的水墨江南模型镜像这能省去我们手动安装Python环境、依赖库、下载模型权重等一系列繁琐操作。登录镜像仓库如果需要 有些镜像仓库可能需要认证。如果水墨江南镜像在某个需要登录的私有仓库你需要先登录。这里以假设需要登录为例docker login your-registry-domain.com然后输入用户名和密码。如果镜像在公共仓库这一步可以跳过。请根据实际的镜像来源信息操作。拉取模型镜像 使用docker pull命令拉取镜像。你需要知道镜像的完整名称和标签Tag。假设我们从星图镜像广场拉取镜像名为registry.cn-hangzhou.aliyuncs.com/csdn_mirrors/ink-wash-painting:latest。docker pull registry.cn-hangzhou.aliyuncs.com/csdn_mirrors/ink-wash-painting:latest这个命令会从远程仓库下载镜像到本地服务器。下载时间取决于镜像大小和你的网络速度请耐心等待。完成后可以用docker images命令查看已下载的镜像。运行模型容器 这是最关键的一步。我们需要在后台运行一个容器并将容器的服务端口映射到宿主机的某个端口这样我们才能从外部访问。docker run -d \ --name ink-wash-painting \ --gpus all \ -p 7860:7860 \ -v /home/your_user/model_data:/app/data \ registry.cn-hangzhou.aliyuncs.com/csdn_mirrors/ink-wash-painting:latest我来解释一下这个命令的每个部分-d让容器在后台运行守护进程模式。--name ink-wash-painting给容器起个名字方便管理。--gpus all将宿主机的所有GPU资源分配给这个容器。-p 7860:7860端口映射。格式是宿主机端口:容器内端口。这里把容器内的7860端口映射到宿主机的7860端口。Gradio等Web界面常用这个端口。-v /home/your_user/model_data:/app/data数据卷挂载。格式是宿主机目录:容器内目录。这非常有用它能把容器内生成的数据比如图片、配置文件持久化保存在宿主机的目录里即使容器删除数据也不会丢失。请将/home/your_user/model_data替换成你服务器上实际想存放数据的路径。最后一行是镜像的名字。检查容器运行状态 运行后用以下命令查看容器是否在运行docker ps你应该能看到一个名为ink-wash-painting的容器状态是Up。 还可以查看容器的实时日志确认服务启动是否正常docker logs -f ink-wash-painting看到类似“Running on local URL: http://0.0.0.0:7860”的日志就说明模型的服务已经成功启动并在监听了。访问模型服务 现在打开你的浏览器输入http://你的服务器IP地址:7860。如果一切顺利你就能看到水墨江南模型的Web操作界面了你可以在这里上传图片或输入描述体验模型的效果。到这里模型已经成功跑起来了。但如果我们希望服务器重启后模型能自动启动像个真正的服务一样可靠还需要最后一步。4. 第四步配置Systemd服务实现开机自启用docker run命令启动的容器在服务器重启后会停止。对于生产环境我们需要它能够随系统自动启动。Linux的systemd服务管理器可以完美解决这个问题。创建服务配置文件 使用文本编辑器如nano或vim创建一个新的service文件。sudo nano /etc/systemd/system/ink-wash-painting.service编写服务配置内容 将以下内容粘贴到文件中。注意你需要根据实际情况修改ExecStart命令中的镜像名、端口映射和卷挂载路径确保和之前docker run的命令一致。[Unit] DescriptionInk Wash Painting AI Model Service Requiresdocker.service Afterdocker.service network.target [Service] Typesimple Useryour_user # 替换为你的用户名 ExecStart/usr/bin/docker run --rm --name ink-wash-painting --gpus all -p 7860:7860 -v /home/your_user/model_data:/app/data registry.cn-hangzhou.aliyuncs.com/csdn_mirrors/ink-wash-painting:latest ExecStop/usr/bin/docker stop ink-wash-painting Restartalways RestartSec10 [Install] WantedBymulti-user.target关键参数解释User指定以哪个用户身份运行此服务。建议使用你的普通用户避免权限问题。ExecStart服务启动时执行的命令就是我们的docker run。ExecStop服务停止时执行的命令用于优雅地停止容器。Restartalways确保服务意外退出时会自动重启增加稳定性。--rm容器停止后自动删除。对于服务我们通常希望每次启动都是干净的所以加上这个参数。如果你需要保留停止的容器用于调试可以去掉它。保存并退出编辑器在nano中按CtrlX然后按Y再按Enter。重新加载systemd配置sudo systemctl daemon-reload启动并启用服务# 启动服务 sudo systemctl start ink-wash-painting.service # 设置服务开机自启 sudo systemctl enable ink-wash-painting.service检查服务状态sudo systemctl status ink-wash-painting.service如果看到状态是active (running)并且下面有绿色的“active”字样说明服务启动成功。测试重启可选但建议 为了万无一失你可以重启一下服务器来验证开机自启是否生效。sudo reboot等待服务器重启后重新SSH登录再次运行sudo systemctl status ink-wash-painting.service和docker ps看看服务是否已经自动运行起来了。5. 写在最后走完这一整套流程你应该已经成功在Ubuntu服务器上部署好了水墨江南模型。回顾一下我们经历了系统准备、驱动安装、容器化部署、服务化管理这几个关键阶段。整个过程看似步骤不少但每一步都有其明确的目的系统是基石驱动释放硬件能力Docker解决环境一致性systemd保障服务可靠性。实际部署中可能会因为网络、权限、版本差异遇到一些小问题。这时候多看看命令的错误输出和Docker容器的日志docker logs大部分问题都能找到线索。把模型部署当成一个标准的软件部署流程来对待理解每个环节的作用以后部署其他AI模型或者应用思路也都是相通的。现在你的水墨江南模型已经作为一个稳定的服务在后台运行了。你可以通过IP和端口访问它的Web界面也可以考虑为其配置域名、SSL证书或者结合其他应用构建更复杂的AI工作流。希望这篇详细的指南能帮你扫清部署路上的障碍。获取更多AI镜像想探索更多AI镜像和应用场景访问 CSDN星图镜像广场提供丰富的预置镜像覆盖大模型推理、图像生成、视频生成、模型微调等多个领域支持一键部署。