الاتصال بخادم VDS عبر SSH: PuTTY والطرفية والمفاتيح
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
دليل شامل لأوامر systemctl وملفات unit وإنشاء خدمات مخصصة ومراقبة السجلات بـ journalctl واستكشاف أخطاء systemd على خوادم Linux.
Systemd هو نظام التهيئة ومدير الخدمات المستخدم في معظم توزيعات Linux الحديثة. على Ubuntu وDebian وCentOS وAlmaLinux وRHEL، يتولى systemd كل شيء من بدء تشغيل النظام إلى إدارة الخدمات. يغطي هذا الدليل أوامر systemctl وملفات unit وإنشاء خدمات مخصصة.
Systemd هو أول عملية تبدأ بعد نواة Linux (PID 1). تشمل مهامه:
حلّ systemd محل نظام التهيئة القديم SysV. رغم أن سكريبتات /etc/init.d/ لا تزال تعمل، إلا أن ملفات unit لـ systemd هي الأسلوب المفضل الآن.
# عرض حالة الخدمة
sudo systemctl status nginx
# التحقق من تشغيل الخدمة
sudo systemctl is-active nginx
# التحقق من تفعيل الخدمة
sudo systemctl is-enabled nginx
# سرد جميع الخدمات الجارية
sudo systemctl list-units --type=service --state=running
# سرد الخدمات الفاشلة
sudo systemctl list-units --type=service --state=failed
# تشغيل خدمة
sudo systemctl start nginx
# إيقاف خدمة
sudo systemctl stop nginx
# إعادة تشغيل خدمة (إيقاف + تشغيل)
sudo systemctl restart nginx
# إعادة تحميل الإعدادات دون إيقاف
sudo systemctl reload nginx
# إعادة التحميل إن أمكن، وإلا إعادة التشغيل
sudo systemctl reload-or-restart nginx
# تفعيل التشغيل التلقائي عند الإقلاع
sudo systemctl enable nginx
# تشغيل الخدمة وتفعيل التشغيل التلقائي
sudo systemctl enable --now nginx
# تعطيل التشغيل التلقائي
sudo systemctl disable nginx
# إيقاف الخدمة وتعطيلها
sudo systemctl disable --now nginx
# إخفاء الخدمة (منع تشغيلها)
sudo systemctl mask nginx
# إلغاء الإخفاء
sudo systemctl unmask nginx
تحدد ملفات unit كيفية إدارة systemd للخدمات. يوجد موقعان رئيسيان:
/lib/systemd/system/ — ملفات unit المثبتة بواسطة مدير الحزم/etc/systemd/system/ — ملفات unit التي أنشأها/خصصها مدير النظام# عرض ملف unit للخدمة
sudo systemctl cat nginx
# إيجاد موقع ملف unit
sudo systemctl show nginx --property=FragmentPath
# سرد جميع ملفات unit
sudo systemctl list-unit-files --type=service
يحتوي ملف .service على ثلاثة أقسام رئيسية:
[Unit]
Description=Nginx HTTP Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/sbin/nginx
ExecReload=/bin/kill -s HUP $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
# إنشاء ملف unit
sudo nano /etc/systemd/system/myapp.service
[Unit]
Description=My Node.js Application
After=network.target
[Service]
Type=simple
User=www-data
WorkingDirectory=/var/www/myapp
ExecStart=/usr/bin/node /var/www/myapp/app.js
Restart=on-failure
RestartSec=10
StandardOutput=journal
StandardError=journal
Environment=NODE_ENV=production
Environment=PORT=3000
[Install]
WantedBy=multi-user.target
# إخبار systemd بملف unit الجديد
sudo systemctl daemon-reload
# تشغيل الخدمة وتفعيلها
sudo systemctl enable --now myapp
# التحقق من الحالة
sudo systemctl status myapp
# عرض سجلات خدمة معينة
sudo journalctl -u nginx
# آخر 50 سطر
sudo journalctl -u nginx -n 50
# متابعة السجلات في الوقت الفعلي
sudo journalctl -u nginx -f
# سجلات الساعة الأخيرة
sudo journalctl -u nginx --since "1 hour ago"
# سجلات الأخطاء فقط
sudo journalctl -u nginx -p err
# التحقق من حجم السجلات
sudo journalctl --disk-usage
# تنظيف السجلات القديمة
sudo journalctl --vacuum-time=2weeks
# الحصول على حالة مفصلة
sudo systemctl status myapp -l
# فحص السجلات الأخيرة
sudo journalctl -u myapp -n 100 --no-pager
# التحقق من صحة ملف unit
sudo systemd-analyze verify /etc/systemd/system/myapp.service
# شغّل دائماً بعد تعديل ملف unit
sudo systemctl daemon-reload
عند تطوير خدمة، ابدأ بـ Type=simple وRestart=on-failure. حسّن الإعدادات الأخرى بعد استقرار الخدمة.
[Unit]
Description=Daily Backup Timer
[Timer]
OnCalendar=daily
Persistent=true
[Install]
WantedBy=timers.target
# تفعيل المؤقت
sudo systemctl enable --now backup.timer
# سرد جميع المؤقتات
sudo systemctl list-timers
Systemd هو حجر الأساس لإدارة خوادم Linux الحديثة. يتيح لك تعلم أوامر systemctl وهيكل ملفات unit إدارة الخدمات بشكل موثوق. على خوادم REXE، يمكنك إنشاء خدمات مخصصة لضمان تشغيل تطبيقاتك تلقائياً بعد إعادة تشغيل النظام.
'enable' يضع علامة على الخدمة للتشغيل التلقائي عند الإقلاع لكنه لا يشغلها فوراً. 'start' يشغل الخدمة فوراً لكنها لن تبدأ تلقائياً عند إعادة التشغيل. استخدم 'systemctl enable --now اسم-الخدمة' للقيام بالأمرين معاً.
بعد تعديل ملف unit، شغّل دائماً 'sudo systemctl daemon-reload'. ثم أعد تشغيل الخدمة بـ 'sudo systemctl restart اسم-الخدمة'. بدون daemon-reload لن تسري التغييرات.
استخدم 'sudo journalctl -u اسم-الخدمة -f' لمتابعة السجلات في الوقت الفعلي. أضف '-n 100' لرؤية آخر 100 سطر أولاً. استخدم '-p err' لتصفية رسائل الخطأ فقط.
ابدأ بـ 'sudo systemctl status اسم-الخدمة -l' للحصول على حالة مفصلة. ثم تحقق من 'sudo journalctl -u اسم-الخدمة -n 50' للسجلات الأخيرة. تحقق من ملف unit بـ 'sudo systemd-analyze verify'.
مؤقتات systemd أكثر حداثة وتكاملاً: تسجل في journald وتدعم إدارة التبعيات ويسهل مراقبتها عبر 'systemctl list-timers'. للمهام البسيطة يكفي cron، أما للمهام ذات تبعيات الخدمات فيُفضل مؤقتات systemd.
دليل شامل للاتصال بخادم Linux VDS عبر SSH: PuTTY، الطرفية، المصادقة بالمفتاح، إنشاء قاعدة تصفية Path Panel، تغيير المنفذ ونصائح الأمان الأساسية.
دليل خطوة بخطوة للاتصال بـ Windows Server VDS عبر RDP: الإعداد الكامل، تفعيل NLA للأمان، إنشاء قاعدة تصفية Path Panel واستكشاف الأخطاء وإصلاحها.
تغيير نظام تشغيل خادم VDS عبر لوحة REXE: نصائح النسخ الاحتياطي قبل التثبيت، توزيعات Linux المدعومة وإصدارات Windows Server المتاحة للتثبيت الآن.