د اپلیکیشن چلول د & یا nohup سره سم دي — تر هغه چې سرور بیا پیل شي، پروسه کرش شي، یا تاسو یې لاگونه پیدا کول وغواړئ — بیا نو ړنګېږي. systemd معیاري ځواب دی: ستاسو اپلیکیشن د بوټ پر مهال پیلوي، که مړ شي بیا یې پیلوي، او لاگونه یې نیسي. د یوې سکریپټ یا بائنري بدلول یو اداره شوي خدمت ته یو کوچنی فایل دی.
۱. یو unit فایل ولیکئ
/etc/systemd/system/myapp.service جوړ کړئ:
[Unit]
Description=My application
After=network.target
[Service]
User=myapp
WorkingDirectory=/opt/myapp
ExecStart=/usr/bin/python3 /opt/myapp/run.py
Restart=always
RestartSec=5
[Install]
WantedBy=multi-user.target
ExecStart، WorkingDirectory او User د خپل اپلیکیشن سره سم عیار کړئ. Restart=always هغه څه دي چې ژوندی یې ساتي.
۲. یو ځانګړی کاروونکی جوړ کړئ (وړاندیز شوی)
sudo useradd --system --no-create-home --shell /usr/sbin/nologin myapp
sudo chown -R myapp:myapp /opt/myapp
د غیر-root کاروونکي په توګه چلول زیان محدودوي که اپلیکیشن کله هم جوړجاړی شي.
۳. فعال یې کړئ او پیل یې کړئ
sudo systemctl daemon-reload
sudo systemctl enable --now myapp
enable یې د بوټ پر مهال پیلوي؛ --now یې سمدستي پیلوي.
۴. حالت او لاگونه وګورئ
sudo systemctl status myapp
journalctl -u myapp -f # ژوندي لاگونه تعقیب کړئ
ورځني کمانډونه
sudo systemctl restart myapp # له بدلون وروسته بیا پیل
sudo systemctl stop myapp # ودروئ یې
sudo systemctl disable myapp # د بوټ پر مهال پیلېدل ودروئ
رښتیني خبرتیاوې
- د unit فایل له سمولو وروسته
daemon-reloadوچلوئ، که نه نو systemd زوړ نسخه کاروي. - د کرش لوپونو څخه ځان وساتئ. که اپلیکیشن سمدستي ناکام شي،
Restart=alwaysتل بیا هڅه کوي —RestartSec=5هڅې لرې کوي؛ د لاگونو له لارې بنسټیزه تېروتنه سمه کړئ. - غیر-root
User=ته لومړیتوب ورکړئ ترڅو جوړجاړی شوی اپلیکیشن ټول سرور خپل نه کړي.
راتلونکي ګامونه
د systemd خدمت هغه لار ده چې تاسو هر څه 24/7 په چلولو کې ساتئ — د بېلګې په توګه یو AI اجنټ چې شپه او ورځ کار کوي یا هغه رله چې د یو ځان کوربه شوي RustDesk سرور تر شا دی. که ستاسو اپلیکیشن پر ځای په کانټینر کې وي، د Docker --restart unless-stopped ورته رول لوبوي — وګورئ Docker څنګه نصب کړو.
تبصرې
لا تبصرې نشته. لومړی اوسئ.