16 KiB
Nginx UI
もう一つのNginx Web UI 0xJacky, Hintay, Akinoによって開発されました。
ドキュメント
公式ドキュメントは nginxui.com を参照してください。
スター推移
English | Español | 简体中文 | 繁體中文 | Tiếng Việt | 日本語
目次
プロジェクトについて
デモ
- ユーザー名:admin
- パスワード:admin
機能
- CPU 使用率、メモリ使用率、ロードアベレージ、ディスク使用率などのサーバー指標をオンラインで確認可能
- 設定変更時に自動でバックアップを作成し、バージョン比較や復元に対応
- 複数ノード間での設定ミラーリングをサポートし、マルチサーバー環境を容易に管理可能
- 暗号化された Nginx / Nginx UI の設定をエクスポートし、新しい環境への迅速なデプロイや復旧が可能
- オンライン ChatGPT アシスタントを搭載。DeepSeek-R1 の Chain-of-Thought 表示に対応し、設定の理解と最適化を支援
- MCP(Model Context Protocol)で AI エージェントが Nginx UI と連携するための専用インターフェースを提供し、設定管理やサービス制御の自動化を実現
- Let’s Encrypt 証明書の発行および自動更新をワンクリックで実行可能
- 自社開発の NgxConfigEditor(ブロックエディタ)および、LLM によるコード補完と nginx 設定のシンタックスハイライトに対応した Ace Code Editor を搭載
- Web UI 上から Nginx ログを直接確認可能
- Go と Vue で実装され、単一の実行バイナリとして配布
- 設定保存時に設定テストを自動実行し、成功時のみ nginx を再読み込み
- Web ターミナル
- ダークモード対応
- レスポンシブデザイン
多言語化
下記の言語を公式でサポートしています:
- 英語
- 簡体字中国語
- 繁體字中国語
非ネイティブによる翻訳のため、不自然な表現が含まれている可能性があります。
お気づきの点がございましたら、ぜひフィードバックをお寄せください。
コミュニティのご協力により、他の言語の翻訳も多数提供されています。
翻訳にご参加いただける方は、Weblate をご覧ください。
はじめに
使用前の注意
Nginx UI は、Debian 系 Web サーバーの設定ファイル構成標準に準拠しています。
作成されたサイト設定ファイルは、自動的に検出された Nginx の設定ディレクトリ内の sites-available に配置されます。
有効化されたサイトについては、sites-enabled にシンボリックリンクが作成されます。
Debian 系以外のディストリビューション(Ubuntu を除く)を使用している場合は、以下の例を参考に nginx.conf を Debian スタイルの構成に変更してください。
http {
# ...
include /etc/nginx/conf.d/*.conf;
include /etc/nginx/sites-enabled/*;
}
インストール
Nginx UI は以下のプラットフォームで利用可能です:
- macOS 11 Big Sur and later (amd64 / arm64)
- Windows 10 and later (amd64 / arm64)
- Linux 2.6.23 and later (x86 / amd64 / arm64 / armv5 / armv6 / armv7 / mips32 / mips64 / riscv64 / loongarch64)
- Including but not limited to Debian 7 / 8, Ubuntu 12.04 / 14.04 and later, CentOS 6 / 7, Arch Linux
- FreeBSD
- OpenBSD
- Dragonfly BSD
- Openwrt
最新リリースはリリースページからダウンロード、またはLinux用インストールスクリプトを利用
使い方
初回起動後、ブラウザでhttp://<your_server_ip>:<listen_port>にアクセスし、初期設定を完了してください。
実行ファイルから
ターミナルでNginx UIを動かす
nginx-ui -config app.ini
Control+Cで終了します。
バックグラウンドでNginx UIを動かす
nohup ./nginx-ui -config app.ini &
以下のコマンドで Nginx UI を停止します。
kill -9 $(ps -aux | grep nginx-ui | grep -v grep | awk '{print $2}')
Systemdで
Linuxインストールスクリプトを使うと、nginx-uiというsystemdサービスが作成されます。以下コマンドで操作可能:
起動
systemctl start nginx-ui
停止
systemctl stop nginx-ui
再起動
systemctl restart nginx-ui
Dockerで
公式イメージ uozi/nginx-ui:latest はベースに公式 nginx イメージを利用しています。ホストの Nginx と置き換える形で利用可能です。
注意
- 初回利用時は
/etc/nginxにマッピングするボリュームが空であることを確認してください。 - 静的ファイルを配信する場合は、適切なディレクトリをマッピングしてください。
Dockerでデプロイ
-
以下のように実行:
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
- パネルには
[http://<your-ip>:8080/install](http://<your_server_ip>:8080/install)でアクセスします。
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
- パネルには
[http://<your-ip>:8080/install](http://<your_server_ip>:8080/install)でアクセスします。
手動ビルド
公式ビルドがないプラットフォーム向けに、以下の手順でビルドできます。
前提条件
-
Make
-
Golang 1.23+
-
node.js 21+
npx browserslist@latest --update-db
フロントエンドのビルド
app ディレクトリで以下を実行:
pnpm install
pnpm 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 を実行してください。
設定・DB を残してアンインストール
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/;
}
}
貢献方法
オープンソースコミュニティへの貢献は 大歓迎 です。
改善提案がある場合は、リポジトリをフォークし、プルリクエストを作成してください。
Issue に「enhancement」タグを付けて提案することもできます。
スターもぜひお願いします。
- リポジトリをフォーク
- フィーチャーブランチ作成 (
git checkout -b feature/AmazingFeature) - 変更をコミット (
git commit -m 'Add some AmazingFeature') - ブランチをプッシュ (
git push origin feature/AmazingFeature) - プルリクエストを作成
コミュニティ
Nginx UI 公式 WeChat コミュニティグループへぜひご参加ください。利用方法、デプロイ構成、トラブルシューティングについて他のユーザーと交流できます。
以下の QR コードを WeChat で読み取り、申請時に Nginx UI Community Group と記載してください。管理者が公式コミュニティグループへ招待します。
ライセンス
本プロジェクトは GNU Affero General Public License v3.0 に基づき配布されています。ライセンスの詳細は LICENSE ファイルをご覧ください。


