Nginx UI について
Nginx UIは、NginxをWebインターフェースで管理するプロジェクトです。Nginxの設定やサーバーを保守する運用担当者向けに、設定編集、バックアップと復元、クラスター管理、ログやサーバー指標の確認を提供し、AIエージェントとの連携にも対応します。
主な機能
- 01Nginx設定のオンライン編集とテスト
- 02設定のバックアップ、比較、復元
- 03クラスター内の設定管理
- 04サーバー指標とNginxログの表示
- 05Let's Encrypt証明書の発行と自動更新
- 06Webターミナルとコード補完
活用シーン
- 01Webインターフェースでサイト設定を変更
- 02過去の設定バージョンを比較または復元
- 03複数ノード間で設定を同期
- 04サーバー指標の監視とログの確認
MCP 対応
Nginx UIはAIエージェント向けのMCPインターフェースを提供し、設定管理とサービス制御の自動化を可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Nginx UI
0xJacky、Hintay、Akino が開発した、もうひとつの Nginx Web UI です。
ドキュメント
ドキュメントを確認するには、nginxui.com をご覧ください。
スポンサー
このプロジェクトがお役に立ったなら、継続的な開発とメンテナンスを支援するため、スポンサーになることをご検討ください。
スポンサー
中国本土と世界各地で一貫したアクセスパフォーマンスを実現し、ウェブサイトと API を保護・高速化します。さらに、クライアント SDK を通じてネイティブアプリやモバイルアプリにも高速化とセキュリティを提供します — セルフホスト可能なプライベート CDN|サブスクリプション型の対 DDoS CDN|自律制御可能で柔軟に組み合わせられる CDN ネットワーク。
公式コミュニティグループ
Nginx UI 公式 WeChat コミュニティグループに参加して、他のコミュニティメンバーと使用方法やデプロイのアイデア、トラブルシューティングについて議論しましょう。
以下の QR コードをスキャンして WeChat で友だち追加し、リクエストに Nginx UI Community Group と記載してください。管理者が公式コミュニティグループに招待します。
皆さまの支援は、私たちの以下の活動を後押しします:
- 🚀 新機能の開発を加速
- 🐛 バグを修正し、安定性を向上
- 📚 ドキュメントとチュートリアルを充実
- 🌐 より良いコミュニティサポートを提供
- 💻 インフラストラクチャとデモサーバーを維持
ツールのサポート
JetBrains が無償のオープンソースライセンスで私たちを支援してくださっていることに感謝します。
スター数の推移
英語 | スペイン語 | 簡体字中国語 | 繁体字中国語 | ベトナム語 | 日本語
目次
プロジェクトについて

デモ
- ユーザー名:admin
- パスワード:admin
機能
- CPU 使用率、メモリ使用率、ロードアベレージ、ディスク使用率などのサーバー指標をオンラインで確認できます。
- 変更後に設定を自動でバックアップし、バージョンの比較や復元ができます。
- 複数ノードへのミラーリング操作に対応したクラスター管理により、マルチサーバー環境を簡単に管理できます。
- 暗号化された Nginx / Nginx UI の設定をエクスポートし、新しい環境へすばやくデプロイして復元できます。
- 複数のモデルに対応したオンライン ChatGPT アシスタントを強化しました。Deepseek-R1 の思考過程を表示し、設定の理解と最適化を支援します。
- MCP(Model Context Protocol)は、AI エージェントが Nginx UI と連携するための専用インターフェースを提供し、設定管理とサービス制御を自動化できます。
- ワンクリックでデプロイでき、Let's Encrypt 証明書を自動更新します。
- 独自開発の NgxConfigEditor は、使いやすいブロックエディターで nginx の設定を編集できます。または、LLM コード補完に対応し、nginx の設定構文をハイライト表示する Ace Code Editor を使って、ウェブサイトの設定をオンラインで編集できます。
- Nginx のログをオンラインで表示できます。
- Go と Vue で開発されており、単一の実行可能バイナリとして配布されます。
- 設定ファイルを自動でテストし、設定の保存後に nginx を再読み込みします。
- Web ターミナル
- ダークモード
- レスポンシブ Web デザイン
国際化
以下の言語を公式にサポートしています。
- 英語
- 簡体字中国語
- 繁体字中国語
英語を母語としない開発者として正確さを心がけていますが、改善の余地は常にあると考えています。問題にお気づきの場合は、ぜひご意見をお寄せください。
素晴らしいコミュニティの協力により、ほかの言語も利用できます。Weblate で翻訳を確認し、翻訳にご協力ください。
はじめに
使用する前に
Nginx UI は、Debian のウェブサーバー設定ファイルの標準に従います。作成されたサイト設定ファイルは、Nginx の設定フォルダー(自動検出)の下にある sites-available フォルダーに配置されます。有効なサイトの設定ファイルからは、sites-enabled フォルダーへのシンボリックリンクが作成されます。設定ファイルの整理方法を調整する必要がある場合があります。
Debian(および Ubuntu)以外のシステムでは、以下に示す Debian 形式に合わせて nginx.conf 設定ファイルの内容を変更する必要がある場合があります。
http {
# ...
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
詳細については、debian/conf/nginx.conf をご覧ください。
インストール
Nginx UI は、以下のプラットフォームで利用できます。
- macOS 11 Big Sur 以降(amd64 / arm64)
- Windows 10 以降(amd64 / arm64)
- Linux 2.6.23 以降(x86 / amd64 / arm64 / armv5 / armv6 / armv7 / mips32 / mips64 / riscv64 / loongarch64)
- Debian 7 / 8、Ubuntu 12.04 / 14.04 以降、CentOS 6 / 7、Arch Linux などが含まれますが、これらに限定されません
- FreeBSD
- OpenBSD
- Dragonfly BSD
- Openwrt
最新リリースから最新の配布版をダウンロードするか、Linux 用インストールスクリプトを使用してください。
使用方法
Nginx UI を初めて起動したときは、ブラウザーで http://<your_server_ip>:<listen_port> にアクセスして、後続の設定を完了してください。
実行ファイルから
ターミナルで Nginx UI を実行する
nginx-ui -config app.ini
ターミナルで Control+C を押すと、Nginx UI を終了できます。
Nginx UI をバックグラウンドで実行する
nohup ./nginx-ui -config app.ini -pidfile nginx-ui.pid &
以下のコマンドで Nginx UI を正常に停止します。
kill -TERM "$(cat nginx-ui.pid)"
Systemd を使用する
Linux 用インストールスクリプトを使用した場合、Nginx UI は systemd の nginx-ui サービスとしてインストールされます。systemctl コマンドを使用して操作してください。
Nginx UI を起動する
systemctl start nginx-ui
Nginx UI を停止する
systemctl stop nginx-ui
Nginx UI を再起動する
systemctl restart nginx-ui
Docker を使用する
Docker イメージ uozi/nginx-ui:latest は最新の nginx イメージをベースとしており、ホスト上の Nginx の置き換えに使用できます。コンテナーのポート 80 と 443 をホストに公開すれば、簡単に切り替えられます。
注意
- このコンテナーを初めて使用する際は、
/etc/nginxにマッピングするボリュームが空であることを確認してください。 - 静的ファイルをホストする場合は、ディレクトリーをコンテナーにマッピングできます。
- 古いイメージからアップグレードする場合は、必要な
conf.d/nginx-ui.confの更新について、Docker WebSocket 修正ガイドをご覧ください。
Docker でデプロイする
-
次のように nginx-ui をデプロイします。
docker run -dit \
--name=nginx-ui \
--restart=always \
-e TZ=Asia/Shanghai \
-v /mnt/user/appdata/nginx:/etc/nginx \
-v /mnt/user/appdata/nginx-ui:/etc/nginx-ui \
-v /var/run/docker.sock:/var/run/docker.sock \
-p 8080:80 -p 8443:443 \
uozi/nginx-ui:latest
- Docker コンテナーが起動したら、
http://<your_server_ip>:8080/installから nginx-ui パネルにログインします。 ポートマッピングを変更した場合は、代わりにコンテナーポート80にマッピングされたホストポートから Nginx UI にアクセスしてください。
Docker-Compose でデプロイする
-
次のような docker-compose.yml ファイルを作成します。
services:
nginx-ui:
stdin_open: true
tty: true
container_name: nginx-ui
restart: always
environment:
- TZ=Asia/Shanghai
volumes:
- '/mnt/user/appdata/nginx:/etc/nginx'
- '/mnt/user/appdata/nginx-ui:/etc/nginx-ui'
- '/var/www:/var/www'
- '/var/run/docker.sock:/var/run/docker.sock'
ports:
- 8080:80
- 8443:443
image: 'uozi/nginx-ui:latest'
- 次のコマンドでコンテナーを作成します。
docker compose up -d
- Docker コンテナーが起動したら、
http://<your_server_ip>:8080/installから nginx-ui パネルにログインします。 ポートマッピングを変更した場合は、代わりにコンテナーポート80にマッピングされたホストポートから Nginx UI にアクセスしてください。
手動ビルド
公式ビルド版が提供されていないプラットフォームでは、手動でビルドできます。
前提条件
-
Make
-
Golang 1.27.2+
-
Bun 1.4.3(このリポジトリのパッケージマニフェストおよび CI で固定されているバージョン)
-
node.js 21+
npx browserslist@latest --update-db
フロントエンドのビルド
app ディレクトリーで以下のコマンドを実行してください。
bun install
bun run build
バックエンドのビルド
まずアプリをビルドし、その後プロジェクトのルートディレクトリーで以下のコマンドを実行してください。
go generate
go build -tags=jsoniter -ldflags "$LD_FLAGS -X 'github.com/0xJacky/Nginx-UI/settings.buildTime=$(date +%s)'" -o nginx-ui -v main.go
Linux 用スクリプト
基本的な使い方
インストールとアップグレード
bash -c "$(curl -L https://cloud.nginxui.com/install.sh)" @ install
デフォルトのリスニングポートは9000、デフォルトのHTTPチャレンジポートは9180です。
ポートが競合する場合は、/usr/local/etc/nginx-ui/app.iniを手動で変更してから、
systemctl restart nginx-uiを実行してNginx UIサービスを再読み込みしてください。
設定ファイルとデータベースファイルを除いてNginx UIを削除する
bash -c "$(curl -L https://cloud.nginxui.com/install.sh)" @ remove
その他の使い方
bash -c "$(curl -L https://cloud.nginxui.com/install.sh)" @ help
Nginxリバースプロキシ設定の例
server {
listen 80;
listen [::]:80;
server_name <your_server_name>;
rewrite ^(.*)$ https://$host$1 permanent;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 443 ssl;
listen [::]:443 ssl;
http2 on;
server_name <your_server_name>;
ssl_certificate /path/to/ssl_cert;
ssl_certificate_key /path/to/ssl_cert_key;
location / {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
proxy_pass http://127.0.0.1:9000/;
}
}
コントリビューション
コントリビューションがあるからこそ、オープンソースコミュニティは学び、刺激を受け、創造するための素晴らしい場所になります。どのようなコントリビューションも大歓迎です。
改善案がある場合は、リポジトリをフォークしてプルリクエストを作成してください。「enhancement」タグを付けてイシューを作成するだけでも構いません。このプロジェクトにスターを付けることもお忘れなく!改めて、ありがとうございます!
- プロジェクトをフォークする
- フィーチャーブランチを作成する(
git checkout -b feature/AmazingFeature) - 変更をコミットする(
git commit -m 'Add some AmazingFeature') - ブランチにプッシュする(
git push origin feature/AmazingFeature) - プルリクエストを作成する
ライセンス
このプロジェクトは、LICENSEファイルに記載されているGNU Affero General Public License v3.0ライセンスのもとで提供されます。このプロジェクトを使用、配布、またはコントリビューションすることで、このライセンスの利用規約に同意したものとみなされます。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。