もう一つのNginx Web UI 0xJacky, Hintay, Akinoによって開発されました。
公式ドキュメントは nginxui.com を参照してください。
English | Español | 简体中文 | 繁體中文 | Tiếng Việt | 日本語
公式でサポートしてんのは:
非ネイティブの英語話者やから完璧ちゃうかもしれへんけど、気づいたことあったらフィードバックしてや!
コミュニティのおかげで他の言語もいろいろ揃っとるで。翻訳に参加したい人は 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は以下のプラットフォームで利用可能です:
最新リリースはリリースページからダウンロード、または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}')
Linuxインストールスクリプトを使うと、nginx-ui
というsystemdサービスが作成されます。以下コマンドで操作可能:
起動
systemctl start nginx-ui
停止
systemctl stop nginx-ui
再起動
systemctl restart nginx-ui
公式イメージ uozi/nginx-ui:latest はベースに公式 nginx イメージを利用しています。ホストの Nginx と置き換える形で利用可能です。
/etc/nginx
にマッピングするボリュームが空であることを確認してください。公式ビルドがないプラットフォーム向けに、以下の手順でビルドできます。
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
インストール & アップグレード
bash -c "$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/install.sh)" @ install
デフォルトのリスニングポートは 9000
、HTTP チャレンジポートは 9180
です。
競合する場合は /usr/local/etc/nginx-ui/app.ini
を編集し、systemctl restart nginx-ui
を実行してください。
設定・DB を残してアンインストール
bash -c "$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/install.sh)" @ remove
bash -c "$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/install.sh)" @ help
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
)本プロジェクトは GNU Affero General Public License v3.0 に基づき配布されています。ライセンスの詳細は LICENSE ファイルをご覧ください。