🚀 はじめに

Android スマホを ミニサーバー化 できると聞くと、少し難しそうに感じるかもしれません。でも安心してください。
この記事では Termux + nginx + Python を使って、誰でも簡単に Web サーバーを構築できる方法を丁寧に解説します。

この記事を読むと、次のことができるようになります:

  • Android 端末を Web サーバー化(nginx)
  • Python の 簡易 API サーバー を動かす
  • Termux を使った Linux 操作の基礎が身につく
  • 実際に手を動かして学べる

こんな人におすすめです:

  • スマホでプログラミングを試したい
  • Linux や Python を学びたい
  • サーバー構築を体験してみたい
  • エラーでつまずきたくない

初心者向けに、コピペで動くコマンド を中心に解説しているので安心して進められます。


💡 概要解説

Termux とは?

Termux は Android 上で動作する Linux 環境アプリ です。
パッケージ管理(pkg / apt)が使え、Python や nginx など多くのツールをインストールできます。

なぜ Termux でミニサーバー?

  • スマホだけで完結する
  • 追加のハードウェア不要
  • 外出先でも動かせる
  • 学習用途に最適
  • nginx や Python が普通に動く

どんな場面で使える?

  • Web サーバーの学習
  • API の試作
  • ローカルネットワーク内での共有
  • IoT 的な簡易サーバー

📱 Step 1:Termux のインストールと前提条件

Termux のインストール

※ Google Play 版は更新が止まっているため、F-Droid 版を推奨します。

パッケージ更新

# パッケージリスト更新
pkg update -y

# 基本ツールのインストール
pkg install -y git curl wget

nginx と Python のインストール

pkg install -y nginx python

⚙️ Step 2:Termux で nginx を動かす

nginx の起動

# nginx を起動
nginx

ブラウザで以下にアクセス:

http://127.0.0.1:8080

Termux の nginx はデフォルトで 8080 ポート を使用します。

nginx の停止

nginx -s stop

設定ファイルの場所

# 設定ファイル
$PREFIX/etc/nginx/nginx.conf

# ドキュメントルート
$PREFIX/share/nginx/html

🛠️ Step 3:Python の簡易サーバーを動かす

Python の HTTP サーバー(静的ファイル)

# 8000 番ポートで起動
python -m http.server 8000

アクセス:

http://127.0.0.1:8000

Flask を使った簡易 API サーバー

pip install flask

app.py を作成:

cat << 'EOF' > app.py
from flask import Flask, jsonify

app = Flask(__name__)

@app.route("/")
def index():
    return jsonify({"message": "Hello from Termux!"})

if __name__ == "__main__":
    app.run(host="0.0.0.0", port=5000)
EOF

起動:

python app.py

アクセス:

http://127.0.0.1:5000

⚠️ 補足・注意点

Android の省電力設定に注意
Termux がバックグラウンドで停止されるとサーバーも止まります。
→ バッテリー最適化を「無効」にしておくと安定します。

外部アクセスは慎重に
ポート開放や外部公開はセキュリティリスクが高いため、初心者はローカルネットワーク内での利用に留めましょう。

ストレージアクセスの許可
termux-setup-storage を実行しないとファイル操作でエラーが出ることがあります。

termux-setup-storage

✅ よくあるつまずき(チェックリスト)

  • nginx が起動しない → 既にプロセスが動いていないか確認
  • ポートが使えない → 他アプリが占有している可能性
  • Python が動かない → python ではなく python3 が必要な場合あり
  • Flask がインストールできない → pip のアップデートを試す
  • 外部アクセスできない → Android のネットワーク制限を確認
  • Termux が勝手に終了 → 省電力設定をオフにする

📚 参考リンク


🔧 拡張案・次にやると良いこと

  • nginx のリバースプロキシ設定を学ぶ
  • Python + FastAPI で本格 API を構築
  • Termux:API を使ってスマホのセンサー情報を取得
  • Cloudflare Tunnel を使って安全に外部公開
  • Hugo を Termux 上でビルドしてローカルプレビュー

🎯 まとめ

  • Termux は Android を 手軽な Linux サーバー化 できる強力なツール
  • nginx で静的サイト、Python で API を動かせる
  • スマホだけで Web サーバー構築の基礎が学べる
  • 初心者でもコピペで動かせる手順を紹介
  • 次のステップとして FastAPI やリバースプロキシ設定にも挑戦できる

Android 1 台でここまでできるのは本当に面白いので、ぜひ気軽に試してみてください!