liunx系统区分用户,并指定路径部署ollama,幼儿园教学
打开终端
步骤 1:更新系统软件包列表
sudo apt update
步骤 2:安装依赖项
需要 curl 工具
sudo apt install curl
步骤 3:下载 Ollama 安装脚本
从这里开始,cd到你想放ollama的文件夹,在执行下面的命令
curl -s https://ollama.ai/install.sh > install_ollama.sh
编辑安装脚本(推荐方式)
nano
nano install_ollama.sh
vim
vim install_ollama.sh
实在不会在liunx下编辑,就直接下载install_ollama.sh文件到本地,编辑好再上传服务器
for BINDIR in /usr/local/bin /usr/bin /bin; do
echo $PATH | grep -q $BINDIR && break || continue
done
OLLAMA_INSTALL_DIR=$(dirname ${BINDIR})
修改为:
其实就是在for循环的时候,把BINDIR和OLLAMA_INSTALL_DIR给指定地址
BINDIR="/home/mo/ollama/bin"
OLLAMA_INSTALL_DIR="/home/mo/ollama"
OLLAMA_INSTALL_DIR=$(dirname ${BINDIR})
for BINDIR in /usr/local/bin /usr/bin /bin; do
echo $PATH | grep -q $BINDIR && break || continue
done
步骤 4. 调整目录创建和权限
原脚本会用 sudo 以 root 权限创建目录(-o0 -g0),但目标路径是用户目录比如我的是 /home/mo,需修改为当前用户权限:
$SUDO install -o0 -g0 -m755 -d $BINDIR
$SUDO install -o0 -g0 -m755 -d "$OLLAMA_INSTALL_DIR/lib/ollama"
替换为(去掉 sudo 和 root 权限):
# 用当前用户权限创建目录(确保 mo 用户对 /home/mo 有读写权限)
install -m755 -d $BINDIR
install -m755 -d "$OLLAMA_INSTALL_DIR/lib/ollama"
说明:-o0 -g0 表示以 root 用户 / 组创建,修改后默认使用当前用户(mo)的权限,避免目录归属问题。
步骤5. 修正链接路径
if [ "$OLLAMA_INSTALL_DIR/bin/ollama" != "$BINDIR/ollama" ] ; then
status "Making ollama accessible in the PATH in $BINDIR"
$SUDO ln -sf "$OLLAMA_INSTALL_DIR/ollama" "$BINDIR/ollama"
fi
替换为(去掉 sudo,修正源文件路径):
if [ "$OLLAMA_INSTALL_DIR/ollama" != "$BINDIR/ollama" ] ; then
status "Making ollama accessible in the PATH in $BINDIR"
ln -sf "$OLLAMA_INSTALL_DIR/ollama" "$BINDIR/ollama"
fi
说明:原代码中源文件路径可能错误(多了 bin 目录),修正为实际解压后的路径 $OLLAMA_INSTALL_DIR/ollama。
步骤6. 调整 systemd 服务配置
User=ollama
Group=ollama
替换为(用户名:比如我的是mo)
User=mo
Group=mo
注意:如果服务器不是分用户或者用户组的,第4-6步可以忽略
步骤7:重新挂载配置文件
systemctl daemon-reload
需要输入用户密码
步骤8:编译为可执行文件
chmod +x install_ollama.sh
步骤9:下载ollama
赋予用户足够的权限
mo 用户名 路径
权限 755
sudo chown -R mo:mo /home/mo/ollama
sudo chmod -R 755 /home/mo/ollama
运行脚本
./install_ollama.sh
如果运行之后提示权限不足
sudo ln -s /path/to/ollama /usr/local/bin/ollama
最后到了环境变量,最关键的一环
1. 临时配置(当前终端会话有效)/home/mo/ollama/bin自己的ollama路径
export PATH="/home/mo/ollama/bin:$PATH"
2. 永久配置(推荐)
Bash编辑为例
nano ~/.bashrc
在文件末尾添加以下内容:
# Add Ollama to PATH
export PATH="/home/mo/ollama/bin:$PATH"
保存并退出(按 Ctrl + X,然后按 Y,最后按 Enter)。
使配置立即生效
修改配置文件后,需要重新加载配置才能立即生效。执行以下命令:
source ~/.bashrc # 如果你使用的是 Bash
# 或者
source ~/.zshrc # 如果你使用的是 Zsh
验证配置是否成功
执行以下命令检查环境变量
echo $PATH | grep /home/mo/ollama/bin
Ollama 是否可以正常运行:
ollama --version
最后重启服务配置
sudo systemctl daemon-reload
sudo systemctl restart ollama
好了恭喜你有进步了
如果还想进阶,比如不是127.0.0.1可以访问,如果暴露所有人或指定IP可以访问的
打开配置文件
nano ~/.bashrc
添加环境变量设置
最后面添加,放开ip地址和端口号
export OLLAMA_HOST=0.0.0.0
export OLLAMA_PORT=11434
按下 Ctrl + X ,然后按 Y 确认保存,再按 Enter 键退出。
配置文件立即生效
source ~/.bashrc
高级玩法,指定多个特定的ip或域名可以访问,使用反向代理
安装nginx
sudo apt install nginx # Ubuntu/Debian
创建 Nginx 配置文件
sudo nano /etc/nginx/sites-available/ollama
添加以下内容(替换 your-domain.com 为你的域名):
server {
listen 80;
server_name 域名或者localhost;
# 仅允许特定IP访问
allow 8.168.1.0/24; # 替换为允许的IP段或IP
allow 10.0.0.10; # 允许特定IP
allow 203.0.113.0/24; # 允许另一个网段
# ....... 其它多个
deny all;
location / {
proxy_pass http://localhost:11434; # Ollama服务地址
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
启用配置并重启 Nginx
sudo ln -s /etc/nginx/sites-available/ollama /etc/nginx/sites-enabled/
sudo nginx -t # 检查配置语法
sudo systemctl restart nginx
如果nginx配置文件不生效可以禁用默认的
ls -l /etc/nginx/sites-enabled/
# 如果出现
lrwxrwxrwx 1 root root 34 7月 4 10:49 default -> /etc/nginx/sites-available/default
lrwxrwxrwx 1 root root 33 7月 4 10:59 ollama -> /etc/nginx/sites-available/ollama
# default说明 使用的是默认配置文件
禁用默认配置文件
sudo rm /etc/nginx/sites-enabled/default
检查一下配置文件
sudo nginx -t
# 出现ok就是成功
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
重启nginx
sudo systemctl restart nginx
再次访问 http://ip地址或域名,返回Ollama is running说明成功,记得要先启动ollama
总得来说就是安装nginx,配置nginx,在重启nginx,就OK了
更多推荐


所有评论(0)