使用CentOS部署本地DeekSeek

一、查看服務器的操作系統版本

cat /etc/centos-release

二、下載并安裝ollama

1、ollama下載地址:

Releases · ollama/ollama · GitHubGet up and running with Llama 3.3, DeepSeek-R1, Phi-4, Gemma 3, Mistral Small 3.1 and other large language models. - Releases · ollama/ollamahttps://github.com/ollama/ollama/releases

? ? ? ? (1)、下載ollama

????????

????????(2)測試采用ollama0.5.5可以正常使用

????????

? ? ? ? (3)點擊v0.5.5,下拉找到安裝包進行下載:

????????

? ? ? ??(4)下載好后,上傳ollama-linux-amd64.tgz到/home目錄下

????????

? ? ?(5)在/home目錄下創建ollama文件夾:????????

mkdir ollama

2、手動安裝ollama????????

sudo tar -C /home/ollama -xzf ollama-linux-amd64.tgz

三、配置ollama

1、添加環境變量

????????(1)為當前用戶添加環境變量

echo 'export PATH=$PATH:/home/ollama/bin' >> ~/.bashrcsource ~/.bashrc

????????(2)或者為所有用戶添加環境變量

sudo echo 'export PATH=$PATH:/home/ollama/bin' >> /etc/profile
sudo source /etc/profile

2、啟動ollama

ollama serve

3、查看ollama版本

ollama -v

????????????????

4、設置ollama為后臺服務運行模式

? ? ? ? (1)為 Ollama 創建用戶和組

sudo useradd -r -s /bin/false -U -m -d /usr/share/ollama ollama
sudo usermod -a -G ollama $(whoami)

? ? ? ? (2)創建服務文件?

vi /etc/systemd/system/ollama.service

? ? ? ? (3)使用vi編輯器編輯服務文件,添加以下內容

 [Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/home/ollama/bin/ollama serve  #修改路徑為ollama安裝目錄
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"[Install]
WantedBy=default.target

? ? ? ? (4)重啟ollama服務

sudo systemctl daemon-reload
sudo systemctl enable ollama

四、更改模型下載路徑

默認情況下ollama模型的存儲目錄如下:
/usr/share/ollama/.ollama/models?,此目錄空間不足無法存儲deepseek模型,需要修改默認的下載路徑。

1、先創建一個存儲模型文件的文件夾,賦予相關權限:

sudo mkdir /home/dsmodels
sudo chown -R root:root /home/dsmodels
sudo chmod -R 777 /home/dsmodels

2、用vi編譯器打開ollama.service,在[Service]下面加入一行新的Environment

[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/home/ollama/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_MODELS=/home/dsmodels"  #新的模型下載路徑

3、執行以下命令刷新配置:

sudo systemctl daemon-reload

4、重啟ollama服務

sudo systemctl restart ollama.service

5、查看一下重啟后的ollama運行狀態

sudo systemctl status ollama

6、檢查路徑是否設置成功:

ollama list

因為是修改了模型的下載路徑,這個路徑下面環沒有任何模型,所以只有標題行,沒內容。這樣就表示成功了。

五、拉取deepseek模型

1、拉取deepseek大模型文件

ollama pull deepseek-r1:7b

2、啟動deepseek大模型

ollama run deepseek-r1:7b

3、再次查看ollama裝載模型情況

[root@localhost ollama]# ollama list
NAME              ID              SIZE      MODIFIED    
deepseek-r1:7b    0a8c26691023    4.7 GB    3 hours ago    

六、開放ollama服務遠程訪問,實現Chatbox圖形化界面訪問

1.使用 netstat 或 ss 命令在宿主機上檢查 11434 端口的狀態

[root@localhost ollama]# netstat -tulnp | grep 11434   
tcp6       0      0 :::11434                :::*                    LISTEN      21328/ollama

根據提供netstat的輸出,ollama服務正在監聽 127.0.0.1:11434 (即 localhost 的 11434 端口),而不是監聽所有網絡接口( 0.0.0.0:* 表示監聽所有接口)。這就是為什么您能夠通過 localhost 訪問服務,但是無法通過宿主機的 IP 地址 192.168.120.223 訪問的原因。

2、修改服務綁定地址:

如果 ollama 服務允許通過配置文件設置監聽地址,請將ollama配置文件中的監聽地址從 127.0.0.1 更改為 0.0.0.0。

[root@localhost ollama]# vi /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/home/ollama/bin/ollama serve
User=ollama
Group=ollama
Restart=always
RestartSec=3
Environment="PATH=$PATH"
Environment="OLLAMA_MODELS=/home/dsmodels" 
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*" 
[Install]
WantedBy=default.target

3.重啟 ollama 服務

sudo systemctl daemon-reload
sudo systemctl restart ollama.service

4、檢查環境變量是否正確設置

sudo systemctl show --property=Environment ollama.service

5、開放防火墻的11434端口:

如果你需要開放特定的端口,可以使用 --add-port 選項。例如,開放端口 11434:

sudo firewall-cmd --permanent --zone=public --add-port=11434/tcp

6、重新加載 firewalld 配置

每次修改防火墻規則后,需要重新加載 firewalld 配置

sudo firewall-cmd --reload

7、成功:

?

8、在Chatbox中設置API域名并選擇模型

9、在Chatbox中使用本地部署的deepseek模型

七、安裝open-webui 界面化訪問

1、安裝docker

yum install -y yum-utils device-mapper-persistent-data lvm2yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repoyum install -y docker-cesystemctl start docker && systemctl enable docker

2、運行open-webui容器

docker run -d  -p 8082:8080  -e OLLAMA_BASE_URL=http://10.10.6.3:11434 -v /data/open-webui:/app/backend/data --name open-webui --restart always ghcr.io/open-webui/open-webui:main

3.、瀏覽器訪問:

http://10.10.6.3:8082/auth

按提示創建管理員賬號,創建完成之后需要多等待一會,彈出登陸頁面,進行登錄

八、部署本地deepseek大模型知識庫

1、使用ollama下載向量化工具nomic-embed-text

ollama pull nomic-embed-text

2、打開open-webui左下角的管理員面板,進入“設置”欄找到“模型”選項,并點擊右上角的設置圖標進行模型設置,如圖所示:

3、依次把deepseek和剛下載的nomicembed-text排序在前,并選擇默認模型為deepseek:
embed-text,點擊保存:

4、在管理員面板找到“文檔”選項,將“語義向量模型引擎”設置為Ollama,并且在“語義向量模型”手動輸入“nomic-embed-text:latest”,設置完點擊保存,如圖所示:

5、為了確保open-webui識別到Ollama,進一步找到“外部連接”選項,只勾選Ollama API而不勾選OpenAI API

6、回到工作空間的知識庫,上傳知識庫文檔,進行測試

7、測試

九、 部署過程中可能會遇到的問題及解決方案

1、安裝ollama

(1)使用官方ollama安裝腳本會遇到

ollama: /lib64/libm.so.6: version `GLIBC_2.27' not found (required by ollama)
ollama: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.25' not found (required by ollama)
ollama: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ollama)
ollama: /lib64/libstdc++.so.6: version `CXXABI_1.3.9' not found (required by ollama)
ollama: /lib64/libstdc++.so.6: version `CXXABI_1.3.11' not found (required by ollama)
ollama: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by ollama)
ollama: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by ollama)

(2)原因:

  • 出現這個錯誤是因為 Ollama 程序依賴于較新版本的 GCC 和 Glibc 庫,但系統中安裝的庫版本過低,無法滿足其運行要求。
  • CentOS 7/RHEL 7:默認 Glibc 為 2.17,GCC 為 4.8.5,遠低于 Ollama 要求的 2.27+。

(3)解決方案:

采用手動安裝更低版本的ollama

  • Ollama下載地址: https://github.com/ollama/ollama/releases

(4)測試采用ollama0.5.5可以正常使用

(5)點擊v0.5.5,下拉找到安裝包進行下載:

(6)下載好后,上傳服務器,進行手動安裝

(7)不采用直接升級Glibc,因為Glibc 是 Linux 系統的核心組件,直接升級可能導致:

  • 系統命令(如lsbash)無法運行,因為它們依賴舊版本的 Glibc
  • 軟件包管理器(如yumapt)崩潰,導致系統無法修復。
  • 因此,升級 Glibc 需要謹慎操作,通常需要通過官方渠道或特定工具(如sclconda)進行。

2、?瀏覽器訪問Open-WebUI找不到deepseek大模型

解決方案:

(1)編輯ollama配置文件:

vi /etc/systemd/system/ollama.service

(2)在配置文件中添加:

Environment="OLLAMA_HOST=0.0.0.0:11434"Environment="OLLAMA_ORIGINS=*"

(3)重啟ollama服務

sudo systemctl daemon-reloadsudo systemctl restart ollama.service

(4)檢查環境變量是否正確設置.

sudo systemctl show --property=Environment ollama.serviceEnvironment=PATH=$PATH OLLAMA_MODELS=/home/dsmodels OLLAMA_HOST=0.0.0.0:11434 OLLAMA_ORIGINS=*

3、open-webui知識庫上傳報錯

解決方案:

(1)使用ollama下載安裝向量化工具

ollama pull?nomic-embed-text

(2)打開open-webui左下角的管理員面板,進入“設置”欄找到“模型”選項,并點擊右上角的設置圖標進行模型設置,如圖所示:

(3)依次把deepseek和剛下載的nomicembed-text排序在前,并選擇默認模型為deepseek:
embed-text,點擊保存:

(4)在管理員面板找到“文檔”選項,將“語義向量模型引擎”設置為Ollama,并且在“語義向量模型”手動輸入“nomic-embed-text:latest”,設置完點擊保存,如圖所示:

(5)為了確保open-webui識別到Ollama,進一步找到“外部連接”選項,只勾選Ollama API而不勾選OpenAI API

(6)回到工作空間的知識庫,上傳知識庫文檔,進行測試

4、CUDA 版本不兼容

(1)問題表現:

在安裝 PyTorch 或者運行 DeepSeek 時,系統提示 CUDA 版本與 GPU 驅動不匹配。

(2)解決辦法:

首先,查看 GPU 驅動支持的 CUDA 版本:

nvidia-smi

接著,按照 CUDA 官網的指引,安裝對應的 CUDA Toolkit:

# 以CUDA 11.8為例wget https://developer.download.nvidia.com/compute/cuda/11.8.0/local_installers/cuda_11.8.0_520.61.05_linux.runsudo sh cuda_11.8.0_520.61.05_linux.run

最后,更新環境變量:

echo 'export PATH=/usr/local/cuda-11.8/bin:$PATH' >> ~/.bashrcecho 'export LD_LIBRARY_PATH=/usr/local/cuda-11.8/lib64:$LD_LIBRARY_PATH' >> ~/.bashrcsource ~/.bashrc

5、PyTorch 安裝失敗

(1)問題表現

在 pip 安裝 PyTorch 的過程中出現網絡錯誤,或者安裝后導入時提示找不到模塊。

(2)解決辦法:

使用清華源加速下載,并且根據 CUDA 版本選擇合適的 PyTorch 版本:

?
# CUDA 11.8對應的PyTorch安裝命令pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 -i Simple Index?

6、文件系統限制

(1)問題表現

在下載模型時,系統提示 “無法創建臨時文件”。

(2)解決辦法


?? 修改文件系統的最大文件數限制:

echo 'fs.file-max = 1048576' | sudo tee -a /etc/sysctl.confecho '* soft nofile 65536' | sudo tee -a /etc/security/limits.confecho '* hard nofile 65536' | sudo tee -a /etc/security/limits.confsudo sysctl -p

7、權限問題

(1)問題表現

無法讀取模型文件,或者在保存檢查點時提示權限被拒絕。

(2)解決辦法
??

修改模型文件的權限:

sudo chmod -R 755 /path/to/model

8、CUDA 內存溢出

(1)問題表現

模型運行時提示 “CUDA out of memory”。

(2)解決辦法:
??

減少批量大小(batch size),或者啟用梯度檢查點(gradient checkpointing):

# 在代碼中啟用梯度檢查點model.gradient_checkpointing_enable()

9、網絡連接的問題

(1)問題表現

在下載模型時出現連接超時的情況。

(2)解決辦法:

?? 使用代理或者手動下載模型:

# 使用代理export HTTP_PROXY=http://proxy.example.com:8080export HTTPS_PROXY=http://proxy.example.com:8080# 或者手動下載模型git clone https://huggingface.co/DeepSeek-RL/DeepSeek-7B-Chat.git?

10、SSL 證書驗證失敗

(1)問題表現

在下載過程中提示 “SSL: CERTIFICATE_VERIFY_FAILED”。

(2)解決辦法:
??

臨時禁用 SSL 驗證(不推薦在生產環境使用):

pip install --trusted-host pypi.python.org package_name

11、權限與安全策略

? ? ? ?(1)問題表現

  • 服務無法綁定80/443端口
  • 文件訪問被SELinux阻止

????????(2)解決方案

1、解決端口權限問題:sudo setcap 'cap_net_bind_service=+ep' /usr/bin/python3.8? # 允許非root綁定低端口或使用反向代理(Nginx/Apache)轉發請求。2、調整SELinux策略:sudo setenforce 0? # 臨時關閉
sudo semanage port -a -t http_port_t -p tcp 8080? # 開放自定義端口
永久生效需修改 /etc/selinux/config

12、網絡與防火墻

(1)問題表現

  • 外部無法訪問服務端口
  • 模型下載失敗(境外源速度慢)

(2)解決方案

(1)配置防火墻:sudo firewall-cmd --permanent --add-port=8080/tcpsudo firewall-cmd --reload(2)使用國內鏡像加速:pip install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt(3)或配置全局鏡像:mkdir ~/.pip && echo -e "[global]\nindex-url = https://pypi.tuna.tsinghua.edu.cn/simple" > ~/.pip/pip.conf

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/pingmian/82256.shtml
繁體地址,請注明出處:http://hk.pswp.cn/pingmian/82256.shtml
英文地址,請注明出處:http://en.pswp.cn/pingmian/82256.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

Matplotlib 后端與事件循環

前言:很多時候,matplot跑出來的是這種靜態非交互的,如果想要可以交互,就得設定一個后端,例如 matplotlib.use(TkAgg)Matplotlib 后端 (Backend) Matplotlib 的設計理念是能夠以多種方式輸出圖形,無論是顯…

【JAVA】中文我該怎么排序?

📘 Java 中文排序教學文檔(基于 Collator) 🧠 目錄 概述Java 中字符串排序的默認行為為什么需要 Collator使用 Collator 進行中文排序升序 vs 降序排序自定義對象字段排序多字段排序示例總結對比表附錄:完整代碼示例 …

k8s-NetworkPolicy

在 Kubernetes 中,NetworkPolicy 是一種資源對象,用于定義 Pod 之間的網絡通信策略。它允許你控制哪些 Pod 可以相互通信,以及如何通信。通過使用 NetworkPolicy,可以實現更細粒度的網絡訪問控制,增強集群的安全性。 1…

LAN(局域網)和WAN(廣域網)

你的問題非常清晰!我來用一個直觀的比喻實際拓撲圖幫你徹底理解LAN(局域網)和WAN(廣域網)如何協同工作,以及路由器在其中的位置。你可以把整個網絡想象成一座城市: 1. 比喻:城市交通…

idea 插件開發自動發布到 nexus 私服中(腳本實例)

如下腳本內容為 idea 插件開發項目中的 build.gradle.kts 文件示例,其中自定了 updatePluginsXmlToNexus 和 uploadPluginToNexus 兩個任務,一個用來自動修改 nexus 中的配置文件,一個用來自動將當前插件打包后的 zip 文件上傳到 nexus 私服中…

SpringBoot-11-基于注解和XML方式的SpringBoot應用場景對比

文章目錄 1 基于注解的方式1.1 @Mapper1.2 @select1.3 @insert1.4 @update1.5 @delete2 基于XML的方式2.1 namespace2.2 resultMap2.3 select2.4 insert2.5 update2.6 delete3 service和controller3.1 service3.2 controller4 注解和xml的選擇如果SQL簡單且項目規模較小,推薦使…

C++復習核心精華

一、內存管理與智能指針 內存管理是C區別于其他高級語言的關鍵特性,掌握好它就掌握了C的靈魂。 1. 原始指針與內存泄漏 先來看看傳統C的內存管理方式: void oldWay() {int* p new int(42); // 分配內存// 如果這里發生異常或提前return&#xff0c…

期貨反向跟單軟件—提高盤手杠桿的方式及剖析

在期貨反向跟單領域,期貨跟單軟件對盤手杠桿的調節,是整個策略運作的核心環節之一。其背后蘊含著科學的金融邏輯。? 期貨跟單軟件提高盤手杠桿主要通過兩種方式。第一種是降低期貨保證金。在盤手資金總量固定的情況下,保證金降低&#xff0…

【計算機網絡】基于UDP進行socket編程——實現服務端與客戶端業務

🔥個人主頁🔥:孤寂大仙V 🌈收錄專欄🌈:Linux 🌹往期回顧🌹: 【Linux筆記】——網絡基礎 🔖流水不爭,爭的是滔滔不息 一、UDPsocket編程UDPsocket編…

ae卡通打架煙霧特效

1、創建一個合成(合成1),右鍵創建形狀圖層,使用橢圓工具,長按shift鍵拖動鼠標左鍵畫出圓形,同時按ctrlalthome三個鍵使圓形中心錨點對齊圓心,關閉描邊,圓形圖層填充白色。 2、選擇形…

UE5 Va Res發送請求、處理請求、json使用

文章目錄 介紹發送一個Get請求發送Post請求設置請求頭請求體帶添json發送請求完整的發送藍圖 處理收到的數據常用的json處理節點 介紹 UE5 自帶的Http插件,插件內自帶json解析功能 發送一個Get請求 只能寫在事件圖表里 發送Post請求 只能寫在事件圖表里 設置…

SQL 結構化模型設計與現代技術融合深度解讀

摘要 本文系統展示了基于 JSON Schema 的 SQL 結構化模型設計,包括通用定義、四大基本操作(SELECT、INSERT、UPDATE、DELETE)的模型規范,以及面向現代場景的設計擴展。重點結合數據權限控制、樂觀鎖并發控制、表單自動化、自定義…

el-dialog 組件 多層嵌套 被遮罩問題

<el-dialog title"提示" :visible.sync"dialogBindUserVisible" width"30%" append-to-body :before-close"handleClose"> <span>這是一段信息</span> <span slot"footer" class"dialog-footer&q…

【KWDB 2025 創作者計劃】_KWDB時序數據庫特性及跨模查詢

一、概述 數據庫的類型多種多樣&#xff0c;關系型數據庫、時序型數據庫、非關系型數據庫、內存數據庫、分布式數據庫、圖數據庫等等&#xff0c;每種類型都有其特定的使用場景和優勢&#xff0c;KaiwuDB 是一款面向 AIoT 場景的分布式、多模融合、支持原生 AI 的數據庫…

學習心得(12-13)HTML 是什么 abort函數and自定義異常

一. abort函數 將后端的數據給到前端 二. 自定義異常 要結合abort函數使用 1.編寫的時候都在abort的函數這個文件里面 錯誤信息在前端頁面的展示&#xff1a; 如果想要在出現異常的時候返回一個頁面&#xff1a; 1. 新建一個HTML文件 例如命名為404 2.將圖庫里的圖片拖入…

理解全景圖像拼接

1 3D到2D透視投影 三維空間上點 p 投影到二維空間 q 有兩種方式&#xff1a;1&#xff09;正交投影&#xff0c;2&#xff09;透視投影。 正交投影直接舍去 z 軸信息&#xff0c;該模型僅在遠心鏡頭上是合理的&#xff0c;或者對于物體深度遠小于其到攝像機距離時的近似模型。…

Linux基本指令篇 —— whoami指令

whoami 是 Linux 和 Unix 系統中一個簡單但實用的命令&#xff0c;全稱 Who Am I&#xff08;我是誰&#xff09;。它的功能是顯示當前登錄用戶的用戶名。以下是關于 whoami 的詳細解析&#xff1a; 目錄 1. 基本用法 2. 命令特點 3. 實際應用場景 場景 1&#xff1a;腳本中…

華為OD機試真題——仿LISP運算(2025B卷:200分)Java/python/JavaScript/C/C++/GO最佳實現

2025 B卷 200分 題型 本專欄內全部題目均提供Java、python、JavaScript、C、C++、GO六種語言的最佳實現方式; 并且每種語言均涵蓋詳細的問題分析、解題思路、代碼實現、代碼詳解、3個測試用例以及綜合分析; 本文收錄于專欄:《2025華為OD真題目錄+全流程解析+備考攻略+經驗分…

創建dummy

訪客_dc1fc4 class Solution { public: int minSubArrayLen(int target, vector<int>& nums) { int left0;int right0;int n nums.size(); int sum0;int ans100001; for(right0;right<n;right) { sumnums[right]; //每次更新右端點之后&#xff0c;立即向右移動…

面向惡劣條件的道路交通目標檢測----大創自用(當然你也可以在里面學到很多東西)

全部內容梳理 目標檢測的兩個任務&#xff1a; 預測標簽 邊界框 語義分割 實力分割 一個是類別 一個是實例級別 分類任務把每個圖像當作一張圖片看待 所有解決方法是先生成候選區域 再進行分類 置信度&#xff1a; 包括對類別和邊界框預測的自信程度 輸出分類和IOU分數的…