أداة تكوين الويب nginx
مجموعة التبادل الفني QQ 1: 1106758598
مجموعة التبادل الفني QQ 2: 560797506
البريد الإلكتروني: [email protected]
عنوان الموقع الرسمي: https://www.nginxwebui.cn
عنوان الإصدار الاحترافي: https://pro.nginxwebui.cn
جيتي: https://gitee.com/cym1102/nginxWebUI
جيثب: https://github.com/cym1102/nginxWebUI
فيديو تعليمي: https://www.bilibili.com/video/BV18A4y1D7GZ
رمز الاستجابة السريعة للتبرع عبر WeChat
nginxWebUI هي أداة إدارة رسومية لتكوين nginx. يمكنك استخدام صفحات الويب لتكوين وظائف nginx المختلفة بسرعة، بما في ذلك إعادة توجيه بروتوكول http، وإعادة توجيه بروتوكول tcp، والوكيل العكسي، وموازنة التحميل، وخادم html الثابت، وتطبيق شهادة SSL التلقائية وتجديدها. والتكوين وما إلى ذلك. بعد التكوين، يمكن إنشاء ملف nginx.conf دفعة واحدة، وفي الوقت نفسه، يمكن التحكم في nginx لاستخدام هذا الملف للبدء وإعادة التحميل، واستكمال التحكم الرسومي للحلقة المغلقة لـ nginx.
يمكن لـ nginxWebUI أيضًا إدارة مجموعات خادم nginx المتعددة، ويمكنك التبديل إلى الخادم المقابل لتكوين nginx في أي وقت بنقرة واحدة. ويمكنك أيضًا مزامنة تكوين خادم معين مع خوادم أخرى بنقرة واحدة لتسهيل إدارة المجموعة.
يحتوي nginx نفسه على وظائف معقدة. لا يمكن لـ nginxWebUI تغطية جميع وظائف nginx، لكنه يمكنه تغطية 90٪ من التكوينات الوظيفية اليومية لـ nginx التي لا يغطيها النظام الأساسي، يمكنك استخدام قوالب المعلمات المخصصة لإنشاء معلمات فريدة في ملف nginx ملف .
بعد نشر هذا المشروع، لم تعد بحاجة إلى البحث عن رموز التكوين عبر الإنترنت لتكوين nginx، ولم تعد بحاجة إلى التقدم يدويًا للحصول على شهادات SSL وتكوينها، ما عليك سوى إضافة هذا المشروع وحذفه وتعديله والتحقق منه بسهولة ابدأ إنجينكس.
يعتمد هذا المشروع على نظام الويب الخاص بـ Solon، وقاعدة البيانات تستخدم SQLite، لذلك ليست هناك حاجة لتثبيت أي قاعدة بيانات على الخادم.
ينطبق هذا النظام على الشهادات من خلال Let's encrypt، ويستخدم البرنامج النصي acme.sh للتطبيق التلقائي والتجديد. سيتم تجديد الشهادات التي تتيح التجديد في الساعة 2 صباحًا كل يوم. سيتم تجديد الشهادات التي مضى عليها أكثر من 60 يومًا فقط الصادرة تحت لينكس معتمدة.
عند إضافة دعم لتكوين إعادة توجيه tcp/ip، قد تحتاج بعض الإصدارات الأقل من nginx إلى إعادة ترجمة، ويمكن استخدام وحدة الدفق عن طريق إضافة المعلمة –with-stream لتحديد التثبيت تحتوي مكتبة البرامج الرسمية بالفعل على وحدة الدفق، ولا داعي لإعادة الترجمة. إذا تم تكوين عنصر إعادة توجيه TCP في هذا النظام، فسيتم تقديم عنصر التكوين الخاص بـ ngx_stream_module.so تلقائيًا تعظيم الاستفادة من ملف التكوين ngnix.
عنوان الإصدار الاحترافي: https://pro.nginxwebui.cn
وظيفة | النسخة المهنية | نسخة مفتوحة المصدر |
---|---|---|
تكوين المعلمة الأساسية | √ | √ |
تكوين معلمة http | √ | √ |
عكس تكوين الوكيل | √ | √ |
تكوين معلمة الدفق | √ | √ |
تكوين موازنة التحميل | √ | √ |
قالب المعلمة | √ | √ |
تحميل صفحة الويب الثابتة | √ | √ |
إدارة ملف كلمة المرور | √ | √ |
القائمة السوداء IP | √ | √ |
تطبيق الشهادة | √ | √ |
وثائق واجهة API | √ | √ |
الإدارة عن بعد | √ | √ |
الإدارة الموحدة للعقد والمجموعات | √ | × |
المزامنة الموحدة لملفات تكوين العقدة | √ | × |
جمع بيانات معلومات العقدة | √ | × |
إحصائيات حالة العقدة | √ | × |
تكوين ذاكرة التخزين المؤقت | √ | × |
مجموعة سجل nginx | √ | × |
عرض سجل Nginx | √ | × |
إحصائيات سجل nginx | √ | × |
إحصائيات حركة المرور nginx | √ | × |
لنأخذ نظام التشغيل Ubuntu كمثال،
ملاحظة: يتطلب هذا المشروع تشغيل أوامر النظام تحت المستخدم الجذر، وهو أمر يسهل استغلاله من قبل المتسللين. يرجى التأكد من تغيير كلمة المرور إلى كلمة مرور معقدة.
1. قم بتثبيت بيئة جافا وnginx
أوبونتو:
apt update
apt install openjdk-11-jdk
apt install nginx
سنتوس:
yum install java-11-openjdk
yum install nginx
ويندوز:
下载JDK安装包 https://www.oracle.com/java/technologies/downloads/
下载nginx http://nginx.org/en/download.html
配置JAVA环境变量
JAVA_HOME : JDK安装目录
Path : JDK安装目录bin
重启电脑
2. قم بتنزيل أحدث إصدار من حزمة jar
Linux: mkdir /home/nginxWebUI/
wget -O /home/nginxWebUI/nginxWebUI.jar https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.5/nginxWebUI-4.2.5.jar
Windows: 直接使用浏览器下载 https://gitee.com/cym1102/nginxWebUI/releases/download/4.2.5/nginxWebUI-4.2.5.jar 到 D:/home/nginxWebUI/nginxWebUI.jar
إذا كان هناك إصدار جديد، ما عليك سوى تعديل الإصدار في المسار.
3. ابدأ البرنامج
Linux: nohup java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=/home/nginxWebUI/ > /dev/null &
Windows: java -jar -Dfile.encoding=UTF-8 D:/home/nginxWebUI/nginxWebUI.jar --server.port=8080 --project.home=D:/home/nginxWebUI/
وصف المعلمة (جميعها اختيارية)
--server.port يحتل المنفذ، ويبدأ بالمنفذ 8080 افتراضيًا
--project.home دليل ملف تكوين المشروع، الذي يخزن ملفات قاعدة البيانات، وملفات الشهادات، والسجلات، وما إلى ذلك، الافتراضي هو /home/nginxWebUI/
--spring.database.type=mysql استخدم قواعد بيانات أخرى، واتركها فارغة لاستخدام قاعدة بيانات sqlite المحلية، mysql الاختيارية
--spring.datasource.url=jdbc:mysql://ip:port/nginxwebui عنوان URL لقاعدة البيانات
--spring.datasource.username=مستخدم قاعدة البيانات الجذر
--spring.datasource.password=تمرير كلمة مرور قاعدة البيانات
لاحظ أن أوامر Linux تضيف علامة العطف في النهاية للإشارة إلى أن المشروع يعمل في الخلفية.
أنتج هذا المشروع صورة عامل إرساء تدعم النظام الأساسي x86_64/arm64/arm v7، بما في ذلك nginx وnginxWebUI، وتدمج إدارة وتشغيل nginx.
1. تثبيت بيئة حاوية عامل الإرساء
أوبونتو:
apt install docker.io
سنتوس:
yum install docker
2. اسحب الصورة:
docker pull cym1102/nginxwebui:latest
或者
docker pull registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
3. ابدأ الحاوية:
docker run -itd
-v /home/nginxWebUI:/home/nginxWebUI
-e BOOT_OPTIONS="--server.port=8080"
--net=host
--restart=always
cym1102/nginxwebui:latest
或者
docker run -itd
-v /home/nginxWebUI:/home/nginxWebUI
-e BOOT_OPTIONS="--server.port=8080"
--net=host
--restart=always
registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
يلاحظ:
يرجى استخدام المعلمة --net=host عند بدء تشغيل الحاوية لتعيين المنفذ المحلي مباشرةً، نظرًا لأن nginx الداخلي قد يستخدم أي منفذ، يجب تعيين جميع منافذ الجهاز المحلي.
تحتاج الحاوية إلى تعيين المسار /home/nginxWebUI:/home/nginxWebUI، ويتم تخزين جميع ملفات بيانات المشروع في هذا المسار، بما في ذلك قواعد البيانات وملفات تكوين nginx والسجلات والشهادات وما إلى ذلك. تأكد من عدم فقدان بيانات المشروع يرجى ملاحظة النسخ الاحتياطي.
يمكن للمعلمة -e BOOT_OPTIONS ملء معلمات بدء تشغيل Java، ويمكنك استخدام هذه المعلمة لتعديل رقم المنفذ.
--server.port يحتل المنفذ إذا لم يتم ملؤه، فسيبدأ على المنفذ 8080 بشكل افتراضي.
آخر: ملف التكوين عند استخدام docker-compose هو كما يلي
version: "3.2"
services:
nginxWebUi-server:
image: cym1102/nginxwebui:latest
volumes:
- type: bind
source: "/home/nginxWebUI"
target: "/home/nginxWebUI"
environment:
BOOT_OPTIONS: "--server.port=8080"
network_mode: "host"
restart: always
或者
version: "3.2"
services:
nginxWebUi-server:
image: registry.cn-hangzhou.aliyuncs.com/cym19871102/nginxwebui:latest
volumes:
- type: bind
source: "/home/nginxWebUI"
target: "/home/nginxWebUI"
environment:
BOOT_OPTIONS: "--server.port=8080"
network_mode: "host"
restart: always
استخدم maven للتجميع والتعبئة
mvn clean package
بناء صورة باستخدام عامل الإرساء
docker build -t nginxwebui:latest .
vim /etc/systemd/system/nginxwebui.service
[Unit]
Description=NginxWebUI
After=syslog.target
After=network.target
[Service]
Type=simple
User=root
Group=root
WorkingDirectory=/home/nginxWebUI
ExecStart=/usr/bin/java -jar -Dfile.encoding=UTF-8 /home/nginxWebUI/nginxWebUI.jar
Restart=always
[Install]
WantedBy=multi-user.target
تنفيذ بعد
systemctl daemon-reload
systemctl enable nginxwebui.service
systemctl start nginxwebui.service
افتح http://xxx.xxx.xxx.xxx:8080 للدخول إلى الصفحة الرئيسية
صفحة تسجيل الدخول، عند فتحها لأول مرة، سيُطلب منك تهيئة حساب المسؤول.
بعد الدخول إلى النظام يمكنك إضافة وتعديل حساب المسؤول في إدارة المسؤول.
في تكوين معلمة http، يمكنك تكوين مشروع http الخاص بـ nginx لإعادة توجيه http بشكل افتراضي، ويمكن إضافة التكوينات المطلوبة الأخرى وحذفها وتعديلها والتحقق منها بحرية ملفات.
يمكن تكوين معلمات مشروع الدفق لـ nginx في تكوين معلمات TCP، لكن هذا ليس ضروريًا في معظم الحالات.
في الوكيل العكسي، يمكنك تكوين الوكيل العكسي لـ nginx، أي وظيفة الخادم. يمكنك تمكين وظيفة SSL، وتحميل ملفات pem والملفات الرئيسية مباشرة من صفحة الويب، أو استخدام الشهادة المطبقة في النظام لتمكين وظيفة http إلى https، ويمكنك أيضًا تمكين بروتوكول http2
في موازنة التحميل، يمكنك تكوين وظيفة موازنة التحميل لـ nginx، وهي وظيفة المنبع. في إدارة الوكيل العكسي، يمكنك اختيار هدف الوكيل ليكون موازنة التحميل التي تم تكوينها.
في تحميل ملف html الثابت، يمكنك تحميل حزمة html المضغوطة مباشرة إلى المسار المحدد، بعد التحميل، يمكن استخدامها مباشرة في الوكيل العكسي، مما يلغي الحاجة إلى تحميل ملفات html في Linux.
يمكن إضافة الشهادات في إدارة الشهادات وإصدارها وتجديدها بعد تشغيل التجديد المجدول، سيقوم النظام تلقائيًا بتجديد الشهادة التي على وشك الانتهاء. ملاحظة: يتم إصدار الشهادة باستخدام وضع DNS الخاص بـ acme.sh. والتي تحتاج إلى التعاون مع aliKey وaliSecret الخاصين بـ Alibaba Cloud للاستخدام، يرجى التقدم بطلب للحصول على aliKey وaliSecret أولاً
إدارة ملفات النسخ الاحتياطي، هنا يمكنك رؤية النسخة الاحتياطية التاريخية من nginx.cnf. عند حدوث خطأ في nginx، يمكنك اختيار العودة إلى نسخة تاريخية معينة.
تم إنشاء ملف conf أخيرًا، ويمكن إجراء المزيد من التعديلات اليدوية هنا. بعد التأكد من صحة التعديلات، يمكن الكتابة فوق ملف conf المحلي والتحقق منه وإعادة تشغيله. يمكنك اختيار إنشاء ملف nginx.conf واحد أو فصل كل منهما ملف التكوين في أسيوط وفقا لاسم المجال .d تحت
إدارة الخادم عن بعد، إذا كان هناك العديد من خوادم nginx، فيمكنك نشر nginxWebUI عليها جميعًا، ثم تسجيل الدخول إلى أحدها، وإضافة IP واسم المستخدم وكلمة المرور للخوادم الأخرى في الإدارة عن بعد، ويمكنك إدارة جميع خوادم nginx على آلة واحدة .
يوفر وظيفة مزامنة بنقرة واحدة، والتي يمكنها مزامنة تكوين البيانات وملفات الشهادات لخادم معين مع خوادم أخرى
يوفر هذا النظام اتصال واجهة http. افتح http://xxx.xxx.xxx.xxx:8080/doc.html لعرض صفحة واجهة Smart-doc.
يحتاج استدعاء الواجهة إلى إضافة الرمز المميز في رأس طلب http للحصول على الرمز المميز، تحتاج أولاً إلى فتح إذن استدعاء واجهة المستخدم في إدارة المسؤول، ثم استدعاء واجهة الرمز المميز من خلال اسم المستخدم وكلمة المرور للحصول على الرمز المميز. .
إذا نسيت كلمة مرور تسجيل الدخول الخاصة بك أو لم تقم بحفظ رمز الاستجابة السريعة للتحقق على خطوتين، فيمكنك اتباع البرنامج التعليمي أدناه لإعادة تعيين كلمة المرور الخاصة بك وإيقاف تشغيل التحقق على خطوتين.
1.jar طريقة التثبيت، تنفيذ الأمر
java -jar /home/nginxWebUI/nginxWebUI.jar --project.home=/home/nginxWebUI/ --project.findPass=true
--project.home هو الدليل الذي يوجد به ملف المشروع، أو دليل التعيين عند استخدام حاوية عامل إرساء
--project.findPass هو ما إذا كان سيتم طباعة اسم المستخدم وكلمة المرور
بعد العملية الناجحة، يمكنك إعادة تعيين وطباعة كافة أسماء المستخدمين وكلمات المرور وإيقاف تشغيل التحقق على خطوتين.
2. طريقة تثبيت Docker، قم أولاً بتنفيذ الأمر للدخول إلى حاوية عامل الإرساء، حيث {ID} هو معرف الحاوية
docker exec -it {ID} /bin/sh
نفذ الأمر مرة أخرى
java -jar /home/nginxWebUI.jar --project.findPass=true
بعد العملية الناجحة، يمكنك إعادة تعيين جميع أسماء المستخدمين وكلمات المرور وطباعتها وإيقاف تشغيل التحقق على خطوتين.