أدوات مراقبة الخوادم: Grafana و Prometheus و Netdata
إعداد حزمة Prometheus + Grafana، Netdata، node_exporter، قواعد التنبيه، إنشاء لوحات المعلومات ومراقبة مقاييس الخادم.
تثبيت Nginx Proxy Manager عبر Docker، تجديد شهادات SSL تلقائياً، إضافة proxy host، قوائم الوصول، إعادة التوجيه، البث والمواقع المخصصة.
Nginx Proxy Manager (NPM) هو أداة مفتوحة المصدر تتيح لك إدارة Nginx reverse proxy من خلال واجهة ويب سهلة الاستخدام. يمكنك إدارة شهادات SSL وتكوين proxy host والتحكم في الوصول دون الحاجة لسطر الأوامر.
الميزات الرئيسية:
# docker-compose.yml
version: '3.8'
services:
npm:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- npm_data:/data
- npm_letsencrypt:/etc/letsencrypt
environment:
- TZ=Asia/Riyadh
volumes:
npm_data:
npm_letsencrypt:
docker compose up -d
docker ps | grep nginx-proxy-manager
http://عنوان_IP_الخادم:81
بيانات الدخول الافتراضية:
البريد: admin@example.com
كلمة المرور: changeme
سيُطلب منك تغيير كلمة المرور والبريد الإلكتروني عند أول تسجيل دخول.
app.example.comhttp192.168.1.103000version: '3.8'
services:
npm:
image: 'jc21/nginx-proxy-manager:latest'
container_name: nginx-proxy-manager
restart: unless-stopped
ports:
- '80:80'
- '443:443'
- '81:81'
volumes:
- npm_data:/data
- npm_letsencrypt:/etc/letsencrypt
networks:
- proxy_network
webapp:
image: your-webapp:latest
container_name: webapp
expose:
- "3000"
networks:
- proxy_network
networks:
proxy_network:
driver: bridge
volumes:
npm_data:
npm_letsencrypt:
المسؤول فقطفي تبويب Access:
Allow: 192.168.1.0/24
Deny: all
في تبويب Authorization:
اسم المستخدم: admin
كلمة المرور: كلمة_مرور_قوية123!
old.example.comnew.example.com30125565192.168.1.5025565proxy_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;
client_max_body_size 100M;
proxy_connect_timeout 300;
proxy_send_timeout 300;
proxy_read_timeout 300;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
*.example.com# نسخ احتياطي لبيانات NPM
docker exec nginx-proxy-manager tar -czf /tmp/npm-backup.tar.gz /data /etc/letsencrypt
docker cp nginx-proxy-manager:/tmp/npm-backup.tar.gz ./npm-backup-$(date +%Y%m%d).tar.gz
# الاستعادة
docker cp ./npm-backup.tar.gz nginx-proxy-manager:/tmp/
docker exec nginx-proxy-manager tar -xzf /tmp/npm-backup.tar.gz -C /
docker restart nginx-proxy-manager
docker compose pull
docker compose up -d
docker image prune -f
ports:
- '80:80'
- '443:443'
- '127.0.0.1:81:81'
# الوصول عبر نفق SSH
ssh -L 81:localhost:81 user@server-ip
مع Nginx Proxy Manager على خوادم REXE، يمكنك إدارة جميع تطبيقات الويب من نقطة واحدة والحصول على شهادات SSL وتجديدها تلقائياً. تتيح واجهة الويب إعداد بروكسي عكسي احترافي دون التعامل مع ملفات تكوين Nginx.
تحقق من أن المنفذ 81 مفتوح في جدار الحماية: 'ufw allow 81/tcp'. تأكد من أن الحاوية تعمل: 'docker ps | grep nginx-proxy-manager'. تحقق من سجلات Docker: 'docker logs nginx-proxy-manager'. في حالة تعارض المنافذ، غيّر منفذ الإدارة في docker-compose.yml.
تحقق من أن سجل DNS للنطاق يشير إلى عنوان IP الخادم. تأكد من أن المنفذ 80 متاح من الخارج (مطلوب لـ HTTP-01 challenge). إذا كنت تستخدم Cloudflare، عطّل البروكسي مؤقتاً (DNS Only). لشهادات wildcard، استخدم DNS Challenge.
تحقق من أن خدمة Backend تعمل وتستمع على المنفذ المحدد. يجب أن تكون حاويات Docker في نفس الشبكة. إذا كنت تستخدم اسم الحاوية كـ Forward Hostname، تأكد من أن كلتا الحاويتين متصلتان بنفس شبكة Docker.
فعّل 'Websockets Support' في إعدادات proxy host. أضف في تبويب Advanced: 'proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade";'.
أضف 'client_max_body_size 100M;' في تبويب Advanced لـ proxy host. تأكد من أن تطبيق Backend يسمح أيضاً برفع ملفات كبيرة. زد قيم المهلة: 'proxy_read_timeout 300;'.
يجب أن تُحفظ الإعدادات إذا كانت Docker volumes مكوّنة بشكل صحيح. تحقق من أن volumes معرّفة في docker-compose.yml. احرص دائماً على أخذ نسخة احتياطية قبل التحديث.
إعداد حزمة Prometheus + Grafana، Netdata، node_exporter، قواعد التنبيه، إنشاء لوحات المعلومات ومراقبة مقاييس الخادم.
Squid forward proxy، HAProxy موازن الأحمال، إنهاء SSL، قواعد ACL، التخزين المؤقت، فحوصات الصحة والتوافر العالي.
تثبيت CrowdSec، تكوين bouncer، كشف الهجمات، حظر IP، لوحة المعلومات، إدارة المجموعات والسيناريوهات.