在ubuntu24.04上安装Ollama并设置跨域访问

Ollama 是一个基于 Go 语言开发的简单易用的本地大模型运行框架。它同时支持Nvidia和AMD显卡,最主要的是国内下载模型的速度很快。

我们在前几期文章中介绍的lobechat,oneapi等应用,可以方便的利用ollama构建本地大模型运行平台。接下来我们就介绍如何构建ollama的运行平台。

设备构成:

1、Nvidia P40两片,32G内存。

2、ubuntu24.04操作系统。

具体安装过程如下:

一:安装Ollama

1、准备环境

复制代码
#安装gcc和g++
sudo apt update
sudo apt install gcc g++

#安装make
sudo apt install make
sudo apt install make-guile

2、安装Nvidia驱动

复制代码
#编辑黑名单配置。
vim /etc/modprobe.d/blacklist.conf

#在文件的最后添加下面两行。

blacklist nouveau
options nouveau modeset=0

#然后,输入下面的命令更新并重启。

update-initramfs -u
reboot

#重启后输入下面的命令验证是否禁用成功,成功的话这行命令不会有输出。
lsmod | grep nouveau

#驱动安装
#首先,使用apt卸载已有的驱动,命令如下。

apt-get purge nvidia*

#进入驱动所在路径,赋予执行权限,并执行安装命令

chmod +x NVIDIA-Linux-x86_64-535.86.05.run
./NVIDIA-Linux-x86_64-535.86.05.run

3、安装cuda

复制代码
#下载cuda
wget https://developer.download.nvidia.com/compute/cuda/12.4.0/local_installers/cuda_12.4.0_550.54.14_linux.run

#安装cuda
./cuda_12.4.0_550.54.14_linux.run

设置环境变量

vim ~/.bashrc

在文件最下面加上这些

复制代码
PATH=$PATH:/usr/local/cuda/bin  
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/cuda/lib64  
LIBRARY_PATH=$LIBRARY_PATH:/usr/local/cuda/lib64

使生效

复制代码
source ~/.bashrc

4、安装cudnn

下载cudnn(需要自己注册用户),下载地址如下:

cuDNN Archive | NVIDIA Developer

安装cudnn

复制代码
xz -d cudnn-linux-x86_64-8.9.4.25_cuda12-archive.tar.xz
tar -xvf cudnn-linux-x86_64-8.9.4.25_cuda12-archive.tar

cp /root/cudnn-linux-x86_64-8.9.4.25_cuda12-archive/include/cudnn.* /usr/local/cuda/include/
cp /root/cudnn-linux-x86_64-8.9.4.25_cuda12-archive/lib/* /usr/local/cuda/lib64/
chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*

5、安装python环境

复制代码
apt-get install python3 python3-pip

6、安装ollama

复制代码
curl -fsSL https://ollama.com/install.sh | sh

二:配置ollama跨域访问

复制代码
vim /etc/systemd/system/ollama.service

修改成下面这样

复制代码
[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3

Environment="OLLAMA_HOST=0.0.0.0"
Environment="OLLAMA_ORIGINS=*"

[Install]
WantedBy=default.target

可以使用ollama --version再次确认安装是否成功。

重新加载systemd守护进程并启用Ollama服务

复制代码
sudo systemctl daemon-reload
sudo systemctl enable ollama
sudo systemctl start ollama

三:Ollama基本操作

1、下载模型

复制代码
ollama run llama3.1:8b

仅拉取镜像,但不运行

复制代码
ollama pull llama3.1:8b

2、删除模型

复制代码
#显示安装的模型列表
ollama list

#删除指定的模型
ollama rm llama3.1:8b

3、卸载ollama

删除systemd中创建的ollama服务

复制代码
sudo systemctl stop ollama
sudo systemctl disable ollama
sudo rm /etc/systemd/system/ollama.service
sudo systemctl daemon-reload

删除ollama的二进制文件

复制代码
sudo rm /usr/local/bin/ollama

删除用户和组

复制代码
sudo userdel ollama
sudo groupdel ollama
相关推荐
普马萨特5 小时前
GPS、WiFi、基站定位:为什么在 Agent 时代不仅不受影响,反而更重要
linux·运维·服务器
REDcker6 小时前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统
予枫的编程笔记6 小时前
【Linux入门篇】Ubuntu和CentOS包管理不一样?apt与yum对比实操,看完再也不混淆
linux·人工智能·ubuntu·centos·linux包管理·linux新手教程·rpm离线安装
ai_xiaogui6 小时前
【开源前瞻】从“咸鱼”到“超级个体”:谈谈 Panelai 分布式子服务器管理系统的设计架构与 UI 演进
服务器·分布式·架构·分布式架构·panelai·开源面板·ai工具开发
RisunJan6 小时前
Linux命令-lpr(从命令行提交文件到打印机打印)
linux·运维·服务器
历程里程碑6 小时前
Linux 库
java·linux·运维·服务器·数据结构·c++·算法
Sheep Shaun6 小时前
如何让一个进程诞生、工作、终止并等待回收?——探索Linux进程控制与Shell的诞生
linux·服务器·数据结构·c++·算法·shell·进程控制
codingWhat6 小时前
Linux 入门指南
linux
一个网络学徒6 小时前
python5
java·服务器·前端
Y1rong6 小时前
linux之信号量
linux