Linux:Ubuntu server 24.02 上搭建 ollama + dify

一、安裝Ubuntu

具體的安裝過程可以參見此鏈接:鏈接:Ubuntu Server 20.04詳細安裝教程,這里主要記錄一下過程中遇到的問題。

  1. 安裝時subnet如何填寫
    網絡配置
    在Ubuntu中subnet填寫255.255.255.0是錯誤的,其格式為 xx.xx.xx.xx/yy ,需要自己轉化為 YAML格式。以下來自AI的換算

?理解子網掩碼與CIDR的轉換
子網掩碼255.255.255.0對應的二進制形式為11111111.11111111.11111111.00000000,其中連續“1”的個數為24位,因此CIDR表示為/24。
?在YAML配置中,子網掩碼需與IP地址結合使用,例如192.168.1.10/24,其中/24即為255.255.255.0的CIDR形式。

  1. 在安裝系統后,查看到空間并沒有使用完。
root@cikkodai:/# df -h
Filesystem                         Size  Used Avail Use% Mounted on
tmpfs                              3.2G  1.4M  3.2G   1% /run
efivarfs                           304K  235K   65K  79% /sys/firmware/efi/efivars
/dev/mapper/ubuntu--vg-ubuntu--lv   98G   11G   83G  12% /
tmpfs                               16G     0   16G   0% /dev/shm
tmpfs                              5.0M     0  5.0M   0% /run/lock
/dev/sda2                          2.0G   99M  1.7G   6% /boot
/dev/sda1                          1.1G  6.2M  1.1G   1% /boot/efi
tmpfs                              3.2G   12K  3.2G   1% /run/user/1000
root@cikkodai:/# fdisk -l
Disk /dev/sda: 931.51 GiB, 1000204886016 bytes, 1953525168 sectors
Disk model: TOSHIBA DT01ACA1
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Disklabel type: gpt
Disk identifier: AFF48690-0B2E-4235-91E1-9FF035B5A186Device       Start        End    Sectors   Size Type
/dev/sda1     2048    2203647    2201600     1G EFI System
/dev/sda2  2203648    6397951    4194304     2G Linux filesystem
/dev/sda3  6397952 1953521663 1947123712 928.5G Linux filesystemDisk /dev/mapper/ubuntu--vg-ubuntu--lv: 100 GiB, 107374182400 bytes, 209715200 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 4096 bytes
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
root@cikkodai:/# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0 931.5G  0 disk
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 928.5G  0 part└─ubuntu--vg-ubuntu--lv 252:0    0   100G  0 lvm  /
sr0                        11:0    1  1024M  0 rom
root@cikkodai:/# df -lhT
Filesystem                        Type      Size  Used Avail Use% Mounted on
tmpfs                             tmpfs     3.2G  1.4M  3.2G   1% /run
efivarfs                          efivarfs  304K  235K   65K  79% /sys/firmware/efi/efivars
/dev/mapper/ubuntu--vg-ubuntu--lv ext4       98G   11G   83G  12% /
tmpfs                             tmpfs      16G     0   16G   0% /dev/shm
tmpfs                             tmpfs     5.0M     0  5.0M   0% /run/lock
/dev/sda2                         ext4      2.0G   99M  1.7G   6% /boot
/dev/sda1                         vfat      1.1G  6.2M  1.1G   1% /boot/efi
tmpfs                             tmpfs     3.2G   12K  3.2G   1% /run/user/1000
root@cikkodai:/# lsblk
NAME                      MAJ:MIN RM   SIZE RO TYPE MOUNTPOINTS
sda                         8:0    0 931.5G  0 disk
├─sda1                      8:1    0     1G  0 part /boot/efi
├─sda2                      8:2    0     2G  0 part /boot
└─sda3                      8:3    0 928.5G  0 part└─ubuntu--vg-ubuntu--lv 252:0    0   100G  0 lvm  /
sr0                        11:0    1  1024M  0 rom
root@cikkodai:/# vgdisplay--- Volume group ---VG Name               ubuntu-vgSystem IDFormat                lvm2Metadata Areas        1Metadata Sequence No  2VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                1Open LV               1Max PV                0Cur PV                1Act PV                1VG Size               <928.46 GiBPE Size               4.00 MiBTotal PE              237685Alloc PE / Size       25600 / 100.00 GiBFree  PE / Size       212085 / <828.46 GiBVG UUID               rJHPa1-vjcK-2hm4-O2DV-0VtA-gVtS-6bXJSDroot@cikkodai:/# vgdisplay -v--- Volume group ---VG Name               ubuntu-vgSystem IDFormat                lvm2Metadata Areas        1Metadata Sequence No  2VG Access             read/writeVG Status             resizableMAX LV                0Cur LV                1Open LV               1Max PV                0Cur PV                1Act PV                1VG Size               <928.46 GiBPE Size               4.00 MiBTotal PE              237685Alloc PE / Size       25600 / 100.00 GiBFree  PE / Size       212085 / <828.46 GiBVG UUID               rJHPa1-vjcK-2hm4-O2DV-0VtA-gVtS-6bXJSD--- Logical volume ---LV Path                /dev/ubuntu-vg/ubuntu-lvLV Name                ubuntu-lvVG Name                ubuntu-vgLV UUID                CSRJ1I-rwE0-sIHl-p4HH-yzxL-GqLX-qukS9tLV Write Access        read/writeLV Creation host, time ubuntu-server, 2025-03-06 10:31:39 +0000LV Status              available# open                 1LV Size                100.00 GiBCurrent LE             25600Segments               1Allocation             inheritRead ahead sectors     auto- currently set to     256Block device           252:0--- Physical volumes ---PV Name               /dev/sda3PV UUID               QtprZ3-uT6s-7Pkg-Sl5g-TfNL-FoLK-fvbdBgPV Status             allocatableTotal PE / Free PE    237685 / 212085root@cikkodai:/# lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 24.04.2 LTS
Release:        24.04
Codename:       noble
root@cikkodai:/#

以下磁盤的分配來至AI(鏈接:Ubuntu 24.04.2 服務器存儲分配方案(針對 Ollama 和 AnythingLLM)),其問法為:“以下服務器,如果分配存儲,能合理 Ollama , AnythingLLM:”

Ubuntu 24.04.2 服務器存儲分配方案(針對 Ollama 和 AnythingLLM)?
根據你的磁盤信息(sda 總容量 931.5GB,當前僅分配 100GB 給根目錄),建議按以下方案分配存儲:

1、存儲現狀分析

  1. ?可用空間分布
    ? ?LVM 剩余空間:卷組 ubuntu-vg 中未分配的物理擴展區(PE)約 ?828.46GB,可通過 LVM 擴展邏輯卷。
    ? ?根目錄占用:當前根目錄 / 使用 12%(11GB),剩余 83GB,適合部署核心系統組件。
    ? ?磁盤分區:sda3 已全部加入 LVM,無需額外格式化。
  2. ?關鍵限制
    ? ?Ollama 需求:模型文件通常較大(7B 模型約 4GB,70B 模型可達 100GB+),需預留充足空間 。
    ? ?AnythingLLM 需求:工作區數據、文檔索引和本地模型存儲需獨立分區 。

2、存儲分配建議 ?

  1. 擴展 LVM 邏輯卷
    利用 ubuntu-vg 的剩余空間創建兩個專用邏輯卷:
# 創建 Ollama 模型存儲卷(500GB)
sudo lvcreate -L 500G -n ollama-data ubuntu-vg# 創建 AnythingLLM 數據存儲卷(300GB)
sudo lvcreate -L 300G -n anythingllm-data ubuntu-vg
  1. 格式化并掛載
# 格式化邏輯卷為 ext4(推薦兼容性)
sudo mkfs.ext4 /dev/ubuntu-vg/ollama-data
sudo mkfs.ext4 /dev/ubuntu-vg/anythingllm-data# 創建掛載點
sudo mkdir /mnt/ollama_models /mnt/anythingllm_storage# 寫入 /etc/fstab 實現持久化
echo "/dev/ubuntu-vg/ollama-data /mnt/ollama_models ext4 defaults 0 2" | sudo tee -a /etc/fstab
echo "/dev/ubuntu-vg/anythingllm-data /mnt/anythingllm_storage ext4 defaults 0 2" | sudo tee -a /etc/fstab# 立即掛載
sudo mount -a

3、驗證與維護

  1. 驗證掛載
df -hT | grep -E 'ollama|anythingllm'
# 應顯示 /mnt/ollama_models 和 /mnt/anythingllm_storage 的容量

二、 安裝 ollama

檢查系統版本,下載對應ollama壓縮包,輸出為 “amd64”,當下載 鏈接:ollama-linux-amd64.tgz 版本。

dpkg --print-architecture

輸出:


root@cikkodai:/mnt/ollama_models# dpkg --print-architecture
amd64
  1. 將壓縮包拷貝至服務器端并解壓,解壓至 /usr目錄。拷貝可以通過搭建局域網服務器,遠程工具,命令等。
sudo tar -C /usr -xzf ollama-linux-amd64.tgz

3.快速定位 ollama 可執行文件及其相關文件的存儲路徑

whereis ollama

輸出:

root@cikkodai:/mnt# whereis ollama
ollama: /usr/bin/ollama /usr/lib/ollama

需要記住 /usr/lib/ollama 路徑,此路徑在配置文件中會使用。

  1. 修改ollama配置文件,如果沒有可以自行新建。
vim /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target[Service]
ExecStart=/usr/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_MODELS=/mnt/ollama_models"
Environment="OLLAMA_ORIGINS=*"
Environment="OLLAMA_HOST=0.0.0.0"[Install]
WantedBy=default.target

5.重載配,啟動ollama并設置自啟和查看狀態

sudo systemctl daemon-reload
sudo systemctl start ollama
sudo systemctl enable ollama
sudo systemctl status ollama

輸出:

root@cikkodai:/etc/systemd/system# sudo systemctl status ollama
● ollama.service - Ollama ServiceLoaded: loaded (/etc/systemd/system/ollama.service; enabled; preset: enabled)Active: active (running) since Mon 2025-03-10 20:14:38 CST; 18s agoMain PID: 777696 (ollama)Tasks: 9 (limit: 38027)Memory: 9.6M (peak: 10.3M)CPU: 15msCGroup: /system.slice/ollama.service└─777696 /usr/bin/ollama serveMar 10 20:14:38 cikkodai ollama[777696]: Couldn't find '/root/.ollama/id_ed25519'. Generating new private key.
Mar 10 20:14:38 cikkodai ollama[777696]: Your new public key is:
Mar 10 20:14:38 cikkodai ollama[777696]: ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHTnlbSex1dGPSUm7nDxoyZAeGDFNLDgWM2AybCBN4e7
Mar 10 20:14:38 cikkodai ollama[777696]: 2025/03/10 20:14:38 routes.go:1215: INFO server config env="map[CUDA_VISIBLE_DEVICES: GPU_DEVICE_ORDINAL: HIP_VISIBLE>
Mar 10 20:14:38 cikkodai ollama[777696]: time=2025-03-10T20:14:38.679+08:00 level=INFO source=images.go:432 msg="total blobs: 0"`在這里插入代碼片`
Mar 10 20:14:38 cikkodai ollama[777696]: time=2025-03-10T20:14:38.679+08:00 level=INFO source=images.go:439 msg="total unused blobs removed: 0"
Mar 10 20:14:38 cikkodai ollama[777696]: time=2025-03-10T20:14:38.679+08:00 level=INFO source=routes.go:1277 msg="Listening on 0.0.0.0:11434 (version 0.5.13)"
Mar 10 20:14:38 cikkodai ollama[777696]: time=2025-03-10T20:14:38.679+08:00 level=INFO source=gpu.go:217 msg="looking for compatible GPUs"
Mar 10 20:14:38 cikkodai ollama[777696]: time=2025-03-10T20:14:38.681+08:00 level=INFO source=gpu.go:377 msg="no compatible GPUs were discovered"
Mar 10 20:14:38 cikkodai ollama[777696]: time=2025-03-10T20:14:38.681+08:00 level=INFO source=types.go:130 msg="inference compute" id=0 library=cpu variant="">

6.啟用大模型,主要就是查看瀏覽器地址

ollama serve

輸出:

root@cikkodai:/etc/systemd/system# ollama serve
Error: listen tcp 127.0.0.1:11434: bind: address already in use

在瀏覽器輸入 IP:11434,如顯示 ‘‘Ollama is running’’ 表述部署成功。

三、DeepSeek模型安裝

不用魔法上網,也能快速通過ollama下載模型(鏈接:deepseek-r1:7b)。在末尾 出現Send 部分就可以開始輸入信息,使用對話功能。

root@cikkodai:/etc/systemd/system# ollama run deepseek-r1:7b
pulling manifest
pulling 96c415656d37... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏ 4.7 GB
pulling 369ca498f347... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏  387 B
pulling 6e4c38e1172f... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏ 1.1 KB
pulling f4d24e9138dd... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏  148 B
pulling 40fb844194b2... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏  487 B
verifying sha256 digest
writing manifest
success
>>> Send a message (/? for help)

通過在對話框輸入 /bye 或則 采用快捷鍵 ctrl +D 退出對話框

>>> /bye
root@cikkodai:/etc/systemd/system#

想要進入模型,先查看有哪些模型,然后運行對應模型即可

root@cikkodai:/etc/systemd/system# ollama list
NAME              ID              SIZE      MODIFIED
deepseek-r1:7b    0a8c26691023    4.7 GB    16 minutes ago
root@cikkodai:/etc/systemd/system# ollama run deepseek-r1:7b
>>> Send a message (/? for help)

這里推薦將 nomic-embed-text 向量模型(鏈接:nomic-embed-text)一起部署一下,理論值可以提供更好的知識庫管理。

ollama pull nomic-embed-text:latest

輸出:

root@cikkodai:/opt/frp# ollama pull nomic-embed-text:latest
pulling manifest
pulling 970aa74c0a90... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏ 274 MB
pulling c71d239df917... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏  11 KB
pulling ce4a164fc046... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏   17 B
pulling 31df23ea7daa... 100% ▕███████████████████████████████████████████████████████████████████████████████████████████████▏  420 B
verifying sha256 digest
writing manifest
success
root@cikkodai:/opt/frp#

查看安裝了那些模型

root@cikkodai:/opt/frp# ollama ls
NAME                       ID              SIZE      MODIFIED
nomic-embed-text:latest    0a109f422b47    274 MB    15 seconds ago
deepseek-r1:7b             0a8c26691023    4.7 GB    8 hours ago
root@cikkodai:/opt/frp#

四、安裝docker

安裝此主要用于跑 dify,安裝操作可查看此 鏈接 :Ollama + DeepSeek + Dify 打造企業級知識庫的“超級大腦”。注意:1.Ubuntu在安裝系統時本身提供勾選頁面,是否安裝docker等工具,如果之前安裝了需要先卸載干凈,2. docker部分下載需要魔法上網,可以用 鏈接:毫秒鏡像 作為鏡像。

檢查Docker服務狀態

sudo systemctl status docker  # 顯示服務狀態,包括是否激活、運行日志等

查看Docker版本信息

docker --version    # 顯示客戶端版本
docker info         # 顯示詳細運行時信息(包括鏡像數、容器數、存儲驅動等)

?查看運行中的容器

docker ps        # 僅顯示活動容器

查看所有容器(包括已停止的)?

docker ps -a     # 顯示完整容器列表及狀態(如Exited狀態)

查看鏡像列表

docker images    # 顯示本地已下載的鏡像

Docker 下載文件的默認存儲位置及空間使用查看

Linux 系統

  • 核心數據目錄:/var/lib/docker,包含鏡像(images)、容器(containers)、卷(volumes)、日志(logs)等數據 。
  • 日志文件路徑:/var/lib/docker/containers/<容器ID>/<容器ID>-json.log

已用空間 → sudo du -sh /var
?剩余空間 → df -h /var
子目錄分析 → sudo du -h /var --max-depth=1 | sort -h

root@cikkodai:/etc/systemd/system# sudo du -sh /var
1.1G    /var
root@cikkodai:/etc/systemd/system# df -h /var
Filesystem                         Size  Used Avail Use% Mounted on
/dev/mapper/ubuntu--vg-ubuntu--lv   98G   15G   79G  16% /
root@cikkodai:/etc/systemd/system# sudo du -h /var --max-depth=1 | sort -h
4.0K    /var/crash
4.0K    /var/local
4.0K    /var/mail
4.0K    /var/opt
4.0K    /var/snap
16K     /var/spool
60K     /var/tmp
1.2M    /var/backups
67M     /var/log
253M    /var/cache
755M    /var/lib
1.1G    /var
root@cikkodai:/etc/systemd/system#

以下為安裝 Portainer 圖像化面板工具

  1. 修改Docker鏡像源
sudo tee /etc/docker/daemon.json << EOF
{"registry-mirrors": ["https://docker.1ms.run"]
}
EOF
systemctl daemon-reload
systemctl restart docker
  1. 手動拉取鏡像
docker pull portainer/portainer:latest
  1. 重新運行Portainer容器
docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
  1. 瀏覽器輸入 IP:9000 即可進入Portainer管理界面。注意防火墻是否打開。

五、安裝dify

具體的安裝步驟可以參考官方文檔

  1. 鏈接:Docker Compose 部署
  2. 鏈接:接入 Ollama 部署的本地模型

可能比較關心dify相關文件保存在什么位置,會不會把磁盤撐爆,例如:此處單獨創建一個 anythingllm_storage 文件夾。不用擔心,這些默認存在在dify的相對路徑目錄中,也可以自己重新配置,以下是配置文件中的關鍵存儲路徑。來自于AI 鏈接:dify的知識默認存放在什么位置。

volumes:- ./volumes/app/storage:/app/api/storage  # 宿主機路徑:容器內路徑- 
# Weaviate 示例
volumes:- ./volumes/weaviate:/var/lib/weaviate  # 向量數據存儲路徑volumes:- ./volumes/db/data:/var/lib/postgresql/data  # 數據庫文件volumes:- ./volumes/redis/data:/data  # 緩存數據

注意:dify添加ollama模型完成后,刷新頁面才會顯示。 進一步配置模型時,deepseek模型添加時選擇LLM,nomic-embed-text模型添加時選擇TxT embedding。

在模型設置完成后,就可以創建知識,創建機器人了,具體操作可見此(鏈接:最新AI落地指南,Dify+DeepSeek搭建本地知識庫實現智能客服,直接嵌入官網太香了,降本利器,老板狂贊)

本次遇到一個問題,在創建LLM大模型時,一直不能保存成功,雖然最后莫名其妙就又能保存了。但記錄一下了解到的新知識,在docker容器中存在不能直接訪問到宿主機網絡,特別是宿主機為裸金屬,可驗證可達性。來至AI(鏈接:dify創建ollama 模型時,保存不生效。其模型明確為正確名稱,ollama地址可通過其他設備瀏覽器訪問)。

  1. 驗證 Ollama 服務可達性,若輸出包含 0.0.0.0:11434 則正常;若為 127.0.0.1:11434,需設置環境變量:
root@cikkodai:/mnt/anythingllm_storage/dify/docker# netstat -tuln | grep :11434
tcp        0      0 0.0.0.0:11434           0.0.0.0:*               LISTEN
  1. 進入目標容器
docker exec -it docker-api-1 /bin/bash
  1. 在 Dify 容器內執行連通性檢查:
ping -c 4 host.docker.internal
  1. 正常退出(容器停止)?輸入exit 或者 ctrl+D,更多參見AI(鏈接:Ubuntu 退出 Docker 容器的具體方法)
exit

六、frp網絡穿透Linux客戶端安裝

具體安裝查看此(鏈接:內網穿透工具frp安裝使用),這里記錄以下Linux系統上部署frpc客戶端。

  1. 下載相應版本 frpc文件包,并解壓。
  2. 修改frpc.toml,注意修改為自己frps服務端相應數據
root@cikkodai:/opt/frp# cat frpc.toml
#token需要與服務端的token一致---無需改動
auth.method = "xxx"
auth.token = "xxx"
#服務端的公網ip---不用改動
serverAddr = "xx.xx.xx.xx"
serverPort = 8001#http端口配置
[[proxies]]
#名稱 需要唯一
name = "ai-xx-tcp"
#類型tcp
type = "tcp"
#本地服務http:ip和端口。此處修改為本地對應的ip和端口
localIP = "127.0.0.1"
localPort = 80
#比如此處是8100,那外網訪問服務端公網ip:8003則會被轉發訪問本配置10.131.19.2:8080端口
remotePort = 8412
root@cikkodai:/opt/frp#

修改后驗證配置是否正確

root@cikkodai:/opt/frp# ./frpc verify -c  ./frpc.toml
frpc: the configuration file ./frpc.toml syntax is ok
root@cikkodai:/opt/frp# 

如果未能執行成功,提示權限不足,則先修改權限

root@cikkodai:/opt/frp# ./frpc verify -c  ./frpc.toml
-bash: ./frpc: Permission denied
root@cikkodai:/opt/frp# chmod +x frpc
root@cikkodai:/opt/frp# 
  1. 在/etc/systemd/system/創建配置frpc.service配置文件
sudo nano /etc/systemd/system/frpc.service

創建成功后,寫入以下內容,注意修改為自己的路徑

[Unit]
Description=Frp Server Service
After=network.target[Service]
Type=simple
Restart=on-failure
RestartSec=5s
ExecStart=/opt/frp/frpc -c /opt/frp/frpc.toml
User=root
WorkingDirectory=/opt/frp[Install]
WantedBy=multi-user.target
  1. 設置權限并啟用服務
sudo chmod 644 /etc/systemd/system/frpc.service
sudo systemctl daemon-reload        # 重載服務配置
sudo systemctl enable frpc          # 開機自啟
sudo systemctl start frpc           # 立即啟動
root@cikkodai:/opt/frp# sudo systemctl daemon-reload
root@cikkodai:/opt/frp# sudo systemctl enable frpc
Created symlink /etc/systemd/system/multi-user.target.wants/frpc.service → /etc/systemd/system/frpc.service.
root@cikkodai:/opt/frp# sudo systemctl start frpc
root@cikkodai:/opt/frp# sudo systemctl status frpc
● frpc.service - Frp Server ServiceLoaded: loaded (/etc/systemd/system/frpc.service; enabled; preset: enabled)Active: active (running) since Tue 2025-03-11 17:35:35 CST; 9s agoMain PID: 1573710 (frpc)Tasks: 6 (limit: 38027)Memory: 2.2M (peak: 2.6M)CPU: 4msCGroup: /system.slice/frpc.service└─1573710 /opt/frp/frpc -c /opt/frp/frpc.tomlMar 11 17:35:35 cikkodai systemd[1]: Started frpc.service - Frp Server Service.
Mar 11 17:35:35 cikkodai frpc[1573710]: 2025-03-11 17:35:35.099 [I] [sub/root.go:142] start frpc service for config file [/opt/frp/frpc.toml]
Mar 11 17:35:35 cikkodai frpc[1573710]: 2025-03-11 17:35:35.099 [I] [client/service.go:294] try to connect to server...
Mar 11 17:35:35 cikkodai frpc[1573710]: 2025-03-11 17:35:35.145 [I] [client/service.go:286] [31bb2ffcbaac1489] login to server success, get run id [31bb2ffcba>
Mar 11 17:35:35 cikkodai frpc[1573710]: 2025-03-11 17:35:35.145 [I] [proxy/proxy_manager.go:173] [31bb2ffcbaac1489] proxy added: [ai-cikkod-tcp]
Mar 11 17:35:35 cikkodai frpc[1573710]: 2025-03-11 17:35:35.160 [I] [client/control.go:168] [31bb2ffcbaac1489] [ai-cikkod-tcp] start proxy successroot@cikkodai:/opt/frp# 

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

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

相關文章

unordered_set 的常用函數

在 C 的標準庫中&#xff0c;std::unordered_set 是基于哈希表實現的哈希集合。下面介紹這種語言里哈希集合的常用函數。 C std::unordered_set 1. 元素操作 insert 功能&#xff1a;向哈希集合中插入元素。如果元素已經存在&#xff0c;則不會重復插入。示例代碼&#xff1a…

starrocks批量啟停腳本

#!/bin/bash # 定義 StarRocks 安裝目錄 STARROCKS_HOME"/path/to/starrocks" # 定義 FE 和 BE 節點列表 FE_NODES("fe_node1_ip" "fe_node2_ip" "fe_node3_ip") BE_NODES("be_node1_ip" "be_node2_ip" "be_…

python 提取視頻中的音頻

在Python中提取視頻中的音頻&#xff0c;你可以使用moviepy庫&#xff0c;這是一個非常強大且易于使用的庫&#xff0c;專門用于視頻編輯。以下是如何使用moviepy來提取視頻中的音頻的步驟&#xff1a; 安裝moviepy 首先&#xff0c;你需要安裝moviepy。你可以通過pip安裝它&a…

大語言模型打卡學習DAY1

學習目標&#xff1a; 語言模型的發展歷程 大模型的技術基礎 學習內容&#xff1a; 1. 語言模型的發展歷程 語言模型通常是指能夠建模自然語言文本生成概率的模型&#xff0c;從語言建模到任務求解&#xff0c;這是科學思維的一次重要躍升。2. 大語言模型技術基礎 定義&#…

boarding_passes(登機牌)表的作用

boarding_passes&#xff08;登機牌&#xff09;表的作用 boarding_passes 這張表的主要作用是記錄旅客的登機信息&#xff0c;包括&#xff1a; 票號 (ticket_no) - 關聯到 tickets 表&#xff0c;表示這張票屬于哪個旅客。航班 ID (flight_id) - 關聯到 flights 表&#xf…

Go語言為什么運行比Java快

文章目錄 前言一、核心區別二、Go Vs Java1.Go 的啟動比 Java 快&#xff1f;2.選 Go Or Java&#xff1f; 總結 前言 Go 和 Java 是兩種廣泛應用的編程語言&#xff0c;它們在語言特性、性能、生態、應用場景等方面存在顯著區別。以下是它們的核心區別&#xff0c;以及在實際…

java生成一個24位的字符串,要求這個字符串由大寫的英文字母和數字組成,長度固定位24位

import java.security.SecureRandom;public class RandomStringGenerator {// 定義允許的字符集&#xff08;大寫字母和數字&#xff09;private static final String ALLOWED_CHARACTERS "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";private static final SecureRando…

基于python的升級隊列加速決策

a-f大等級是3級 a-c建筑每升1級分別需要8天 d-f建筑每升1級分別需要10天 目前以下建筑隊列正在從0級升至1級 建筑A升級需要7天05&#xff1a;16&#xff1a;20 建筑b升級需要06&#xff1a;06&#xff1a;54 建筑c升級需要00&#xff1a;37&#xff1a;00 建筑d升級需要…

【經驗】Ubuntu|VMware 新建虛擬機后打開 SSH 服務、在主機上安裝vscode并連接、配置 git 的 ssh

常常有人問VMware-Tools裝了也復制粘貼不了怎么辦&#xff0c;這個東西影響因素太多了&#xff0c;我總是建議直接用SSH連接虛擬機。但是之前一直都沒有出教程&#xff0c;現在出一個簡單的教程。 文章目錄 在 Ubuntu 虛擬機&#xff08;VMware&#xff09;中開啟 SSH 服務、配…

C++多線程編程 3.互斥量、互斥鎖

目錄 1. 線程安全與互斥鎖&#xff08;std::mutex&#xff09; 2. 互斥量死鎖 3. std::lock_guard 4. std::unique_lock (1)示例 (2)詳細知識點 5. std::this_thread (1)sleep_for (2)sleep_until (3)yield (4)get_id 直接通過示例講解&#xff1a; 1. 線程安全與互…

【redis】hash基本命令和內部編碼

文章目錄 表示形式命令HSET 和 HGET HEXISTSHDELHKEYSHVALSHGETALLHMGETHLENHSETNXHINCRBYHINCRBYFLOAT命令小結內部編碼 表示形式 Redis 自身已經是鍵值對結構了 Redis 自身的鍵值對就是通過哈希的方式來組織的 把 key 這一層組織完成之后&#xff0c;到了 value 這一層&…

行為模式---策略模式

概念 策略模式是一種行為設計摸是&#xff0c;它的核心思想是將一些列的算法封裝成獨立的對象&#xff0c;并使它們可以相互替換&#xff0c;通過上下文進行調用。 策略模式通過算法抽象為獨立的策略類&#xff0c;客戶端可以根據自身需求選擇不同的策略類來完成任務、這種方…

Selenium 自動化測試學習總結

大概了解一下即可&#xff0c;現在主要用的自動化工具是 playWright&#xff0c;它可以錄制操作。 selenium是老款自動化測試工具&#xff0c;仍有很多可取之處。 安裝&#xff1a; pip install selenium即可。然后下載瀏覽器的驅動包&#xff0c;注意不是瀏覽器&#xff01;…

四層協議攻防手冊:從SYN Flood到UDP反射的深度防御

一、四層協議攻擊類型與特征 攻擊類型協議層特征SYN FloodTCP大量半開連接&#xff0c;SYN_RECV狀態堆積UDP反射放大UDP小請求包觸發大響應&#xff08;如NTP、DNS響應&#xff09;TCP分片攻擊TCP發送異常分片耗盡重組資源連接耗盡攻擊TCP建立大量空閑連接占用端口資源 二、TC…

【社區投稿】深入再談智能指針、AsRef引用與Borrow借用

深入再談智能指針、AsRef引用與Borrow借用 這是一個具有深度的技術主題。每次重溫其理論知識&#xff0c;都會有新的領悟。大約 2 年前&#xff0c;我曾就這一技術方向撰寫過另一篇短文《從類型轉換視角&#xff0c;淺談Deref<Target T>, AsRef<T>, Borrow<T&g…

外層元素旋轉,其包括在內的子元素一并旋轉(不改變旋轉中心),單元測試

思路&#xff1a;外層旋轉后坐標&#xff0c;元素旋轉后坐標&#xff0c;計算偏移坐標 <template><div class"outbox"><label>角度: <input v-model.number"rotate" type"number" /></label><br><div c…

如何在虛擬機上安裝hadoop

與前面java的方式相同安裝好hadoop后進入hadoop的環境變量my_env.sh 輸入#?HADOOP_export HADOOP_HOME /opt/module/hadoop-3.1.3 export PATH$PATH:$HADOOP_HOME/bin export PATH$PATH:$HADOOP_HOME/sbin 再輸入hadoop測試是否安裝成功

WPF-DataGrid的增刪查改

背景&#xff1a;該功能為幾乎所有系統開發都需要使用的功能&#xff0c;現提供簡單的案例。 1、MyCommand using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows.Input;namespace Wp…

Oracle數據庫存儲結構--物理存儲結構

數據庫存儲結構&#xff1a;分為物理存儲結構和邏輯存儲結構。 物理存儲結構&#xff1a;操作系統層面如何組織和管理數據 邏輯存儲結構&#xff1a;Oracle數據庫內部數據組織和管理數據&#xff0c;數據庫管理系統層面如何組織和管理數據 存儲結構 在Oracle數據庫的存儲結構…

歌詞相關實現

歌詞相關 歌詞數據模型&#xff1a; // Lyric.swift class Lyric: BaseModel {/// 是否是精確到字的歌詞var isAccurate:Bool false/// 所有的歌詞var datum:Array<LyricLine>! }// LyricLine.swift class LyricLine: BaseModel {/// 整行歌詞var data:String!/// 開始…