在 Ubuntu 22.04 上部署 llama.cpp 和 llama-server
环境准备
我这里用的是 Ubuntu 22.04.5 LTS (Jammy Jellyfish)。它属于长期支持版本,系统自带的 GCC、CMake 和 Python 也够新,做 llama.cpp 这类编译型项目时省了不少事。至少在部署阶段,不用先把时间花在升级工具链上。
先确认一下系统版本:
cat /etc/os-release
输出里能看到 Ubuntu 22.04.5 LTS 就够了。
安装系统依赖
先把编译和拉代码要用的基础包装上:
sudo apt update
sudo apt install -y git build-essential cmake libssl-dev ninja-build
这几个包基本够把仓库拉下来并编译出 llama-server。
克隆并编译 llama.cpp
先克隆仓库:
git clone https://github.com/ggerganov/llama.cpp
cd llama.cpp
然后新建构建目录,打开 server 选项编译:
mkdir build && cd build
cmake .. -DCMAKE_BUILD_TYPE=Release -DLLAMA_BUILD_SERVER=ON
make -j $(nproc) llama-server
如果机器核数够,这一步会快很多。这里我只编了 llama-server,没必要把整个项目所有目标都顺手拉起来。
准备 GGUF 模型
接下来要准备 GGUF 格式模型文件,比如 Llama-3-8B-Instruct 或 Qwen2.5-7B-Instruct 的量化版本,下载后放到本地目录里。路径只要和启动命令里一致就行。
启动服务
先做一次前台启动,确认参数和模型文件都没问题:
./build/bin/llama-server -m ./models/Llama-3-8B-Instruct-Coder.Q6_K.gguf --port 8080 --host 0.0.0.0 --ctx-size 2048 --threads 8
如果要常驻后台,再换成 nohup:
nohup ./build/bin/llama-server -m ./models/Llama-3-8B-Instruct-Coder.Q6_K.gguf --port 8080 --host 0.0.0.0 --ctx-size 8192 --threads 8 > ./llama-server.log 2>&1 &
ctx-size 设多大要看显存和内存,盲目拉高通常只会让启动更慢,甚至直接顶满资源。先小后大更稳。
验证服务
先看健康检查:
curl http://localhost:8080/health
如果服务起来了,再盯一下日志:
-f ./llama-server.log

