一、部署ollama

1.下载ollama

1.1服务器在线下载

1.1.1访问ollama官网

Ollama官网

1.1.2选择对应系统

1.1.3复制命令到服务器上执行(需要有外网)
curl -fsSL https://ollama.com/install.sh | sh

1.2离线安装

1.2.1下载ollama
1.2.1.1:github下载

地址:https://github.com/ollama/ollama/releases/

 查看系统cpu:

uname -a

下载版本:

  • x86_64 CPU选择下载ollama-linux-amd64x86_64 CPU选择下载ollama-linux-amd64

  • aarch64|arm64 CPU选择下载ollama-linux-arm

github加速下载:https://github.moeyy.xyz/

1.2.1.2:百度云盘下载
https://pan.baidu.com/s/1MWx57_JuEkfy7lN63D0WTA?pwd=1024 提取码: 1024

2.解压ollama

解压到指定目录:

tar -zxvf ollama-linux-amd64.tgz -C /usr/ollama

查看目录结构:

3.查看ollama版本

/usr/ollama/bin/ollama --version

4.将ollama加入path

echo 'export PATH=/usr/ollama/bin:$PATH' >> ~/.bashrc
source ~/.bashrc

5.将ollama设置开机自启动

创建ollama.service

vim /etc/systemd/system/ollama.service
[Unit]
Description=Ollama Service
After=network-online.target

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

[Install]
WantedBy=default.target

重新加载 systemd 配置

systemctl daemon-reload

启动 Ollama 服务

systemctl start ollama.service

查看ollama服务状态

systemctl status ollama.service

设置开机自启

systemctl enable ollama.service

二、部署deepseek-r1

1.下载deepseek-r1

进入ollama官网:Ollama

选择model:

选择下载deepseek-r1模型:

选择适合自己的型号:

复制命令:

执行安装:

2.尝试沟通deepseel-r1

部署完成

退出聊天:

/bye

三、开放ollama对外开放端口

1.查看ollama的监听端口

ss -tulnp | grep ollama

从 ss 输出来看:
  • Ollama 正在监听两个端口:
    • 127.0.0.1:11434
    • 127.0.0.1:43255 这说明它 只绑定在本地回环地址 (127.0.0.1),所以外部无法访问。

2.设置监听地址

在 Linux 上,Ollama 无法通过环境变量直接绑定到 0.0.0.0。官方文档和社区讨论中并未明确支持通过环境变量 OLLAMA_HOST 来实现这一功能。

相反,推荐的做法是通过修改 systemd 服务配置文件来设置监听地址,可以在 /etc/systemd/system/ollama.service 文件中添加以下行:

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

完整的ollama.service配置如下:

[Unit]
Description=Ollama Service
After=network-online.target

[Service]
ExecStart=/usr/ollama/bin/ollama serve
User=root
Group=root
Restart=always
RestartSec=3
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_ORIGINS=*"

[Install]
WantedBy=default.target
重载并重启服务:
systemctl daemon-reload
systemctl restart ollama.service
systemctl status ollama.service

再次查看监听地址:

ss -tulnp | grep ollama

风险提示,仅用于测试,生产环境有以下风险:

直接暴露服务端口:

  • 0.0.0.0:11434 会绑定所有网络接口,包括公网。
  • 任何知道你 IP + 端口的人都可以尝试访问 Ollama。
  • 如果没有访问控制或认证,可能被滥用或攻击(如发送大量请求、恶意输入)。

跨域设置过宽:

  • OLLAMA_ORIGINS=* 意味着允许 所有域名访问
  • 可能会被别人用网页发请求到你的 Ollama 服务,导致滥用或资源被耗尽。

Root用户运行:

  • systemd 使用 User=root 启动服务,如果 Ollama 出现漏洞或被攻击,攻击者可能获取 root 权限。
  • 高风险!生产环境不建议用 root。

缺少认证和加密:

  • Ollama 默认没有认证,如果对外开放,任何人都可以调用接口。
  • HTTP 没有加密,数据可能被中间人窃听

四、防火墙放行端口

查看当前防火墙的放行端口:

firewall-cmd --list-ports

如果看到没有 11434/tcp,就说明 Ollama 的端口还没放行,需要加规则:

firewall-cmd --zone=public --add-port=11434/tcp --permanent
firewall-cmd --reload
测试连接:
curl http://ip:11434

出现Ollama is running说明访问成功:

五、如果是云服务器记得调整安全组规则,开放11434端口

以阿里云服务器举例:

四、尝试本地调用deepseek-r1模型

以python为例:

import requests

url = "http://ip:11434/api/generate"
data = {
    "model": "deepseek-r1:1.5b",
    "prompt": "你好,给我讲个冷笑话"
}

resp = requests.post(url, json=data, timeout=60, stream=True)
for line in resp.iter_lines():
    if line:
        print(line.decode("utf-8"))

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐