VPSにOllamaを入れてローカルLLMを動かす手順
Ubuntu 24.04 または 22.04 のVPSに、Ollama をインストールしてモデルを動かし、自分のPCから使うところまでの手順です。 所要時間はモデルのダウンロードを除けば10分ほどです。先に、動かしたいモデルがメモリに載るプランを選んでください(プランの選び方)。
1VPSに接続して、最新の状態にする
2(任意)スワップを作る:メモリ不足の保険
載るかぎりぎりのモデルを動かすと、メモリが一瞬足りなくなってプロセスが落ちることがあります。 スワップ(ディスクをメモリの代わりに使う領域)があれば、落ちる代わりに遅くなって済みます。 ただしディスクはメモリよりずっと遅いので、メモリ不足の解決にはなりません。あくまで保険です。 すでにスワップがあるかは free -h の Swap の行で分かります。
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
sudo swapon /swapfile
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab3Ollamaをインストールする
公式のインストールスクリプトを実行します。実行前に中身を読みたい場合は、先にURLをブラウザで開けます。
curl -fsSL https://ollama.com/install.sh | sh終わると、Ollamaがサービスとして登録され、自動で起動します。待ち受けは自分のサーバーの中だけ(127.0.0.1の11434番)です。 起動しているかを確かめます。
ollama -v
systemctl status ollamaactive (running) と出ていれば成功です。
4モデルを取得して動かす
モデルは ollama run で取得と起動が同時にできます。 初回はダウンロードが走るので、サイズに応じて時間がかかります。まずは小さいモデルで試してください。
ollama run llama3.2:3b入力欄が出たら日本語で話しかけられます。やめるときは /bye と入力します。 ほかのモデルはプラン診断で選ぶと、コマンドがそのまま出ます。
ollama list # 取得済みのモデルと、ディスクの使用量
ollama ps # いま読み込まれているモデルと、メモリの使用量
ollama rm モデル名 # 使わないモデルを消してディスクを空けるプログラムから使うなら、HTTPのAPIが同じ11434番で動いています。サーバーの中から試すには次のようにします。
curl http://localhost:11434/api/generate -d '{
"model": "llama3.2:3b",
"prompt": "VPSとは何ですか。一文で答えてください。",
"stream": false
}'5自分のPCから使う:SSHトンネル(お勧め)
自分だけが使うなら、Ollamaを外へ公開せず、SSHの通り道を借りてPCから接続するのが最も安全です。 手元のPCで次を実行したままにすると、PCの11434番がVPSのOllamaにつながります。
ssh -N -L 11434:localhost:11434 ユーザー名@サーバーのIPアドレスこの間、PC側のアプリやブラウザからは http://localhost:11434 で使えます。サーバーのポートは開けないままなので、新しい公開の心配が増えません。
6外から直接つなぐ場合の注意
Ollamaには認証がありません。外から届く状態にすると、誰でもあなたのサーバーでモデルを動かせます (CPUとメモリを使われ、VPSの料金やアカウントの停止にもつながります)。 どうしても直接つなぐなら、接続元のIPアドレスだけを許可してください。
sudo systemctl edit ollama
# 開いた画面に次の2行を書いて保存する
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
sudo systemctl restart ollama
sudo ufw allow from 自分のIPアドレス to any port 11434 proto tcp事業者側のファイアウォール(パケットフィルタ)がある場合は、そちらでも同じ制限が必要です。 複数の人で使うなら、認証をつけるリバースプロキシや、Open WebUI のようなログイン付きの画面を前に置きます。 ファイアウォールの設定を間違えやすい点はufwとfirewalldの記事で説明しています。
7つまずいたとき
- 「Killed」と出て止まる / 勝手に終わる:メモリ不足でOSが強制終了した可能性が高いです。会話が長い、同時に使う人が多い、といったときはKVキャッシュで増えるため、モデルの表より多く要ります(メモリの見積もりツール)。
sudo dmesg | grep -i -E "out of memory|killed process"で記録が残っているか確認します。残っていれば、小さいモデルにするか、メモリの大きいプランへ変更してください。 - ダウンロードが途中で失敗する:ディスクの空きを
df -hで確認します。モデルの大きさより十分に空きが必要です(必要なディスク容量)。 - コマンドが応答しない:サービスのログを見ます。
journalctl -u ollama -e - 応答が遅い:CPUだけで動かす以上、モデルが大きいほど遅くなります。 当サイトは速度を測っていないので、目安の数字は出せません。小さいモデルに替えて、使えるかを確かめてください。
8更新と後片付け
# Ollama本体の更新:インストールスクリプトをもう一度実行する
curl -fsSL https://ollama.com/install.sh | sh
# 自動起動をやめる・止める
sudo systemctl disable --now ollama使わなくなったVPSは解約するまで料金がかかります。モデルのファイルはollama rmで消せます。
よくある質問
GPUが無いVPSでも動きますか
動きます。OllamaはCPUだけでも動作します。ただし応答は遅くなり、載せられるモデルはメモリで決まります。当サイトは速度を測っていないため、何秒かかるかは示せません。まず小さいモデルで試し、使い物になるかを自分で確かめてください。
メモリが足りないとどうなりますか
モデルの読み込みに失敗するか、動いている最中にOSがプロセスを強制終了します。画面には「Killed」と出るだけで理由は表示されません。原因は dmesg か journalctl で確認できます(この手順の「つまずいたとき」を参照)。
インターネットに公開してよいですか
お勧めしません。Ollamaには認証の仕組みがなく、公開すると誰でもあなたのサーバーでモデルを動かせます。自分だけが使うなら、SSHトンネルで接続するのが最も安全です(手順5)。
ToolkITBoxのAIツール・解説と併用する
姉妹サイトの、この記事と相性のいいページです。
- Local LLM Memory Estimator
モデルファイルとKVキャッシュから、必要なメモリを見積もる — toolkitbox.net
- メモリはどれだけ要るか
モデルファイルとKVキャッシュ(会話の長さで増える分)の考え方 — toolkitbox.net
- LLM API Cost Calculator
APIの月額を見積もり、自前のVPSと比べる材料にする — toolkitbox.net
- 自前のVPSでAIを動かす
必要なメモリの見積もりと、公開してはいけないもの — toolkitbox.net
- LLMをローカルで動かす
Ollama・LM Studio・llama.cppの入れ方とモデルの入手先 — toolkitbox.net
- CIDR Calculator
ファイアウォールの許可レンジを計算する — toolkitbox.net
- Password Generator
サーバー用に強いパスワードをその場で生成 — toolkitbox.net
コマンドはOllama公式の手順に沿っています。バージョンアップで挙動が変わることがあるため、うまくいかないときは公式のLinux向け手順もご確認ください。