Bagaimana untuk memulakan semula aplikasi secara automatik dalam Linux menggunakan Systemd dan Crontab

PHPz
Lepaskan: 2023-09-28 15:35:08
asal
1530 orang telah melayarinya

Bagaimana untuk memulakan semula aplikasi secara automatik dalam Linux menggunakan Systemd dan Crontab

Cara menggunakan Systemd dan Crontab untuk memulakan semula aplikasi secara automatik dalam sistem Linux

Dalam sistem Linux, Systemd dan Crontab ialah dua alatan yang sangat penting. Systemd ialah pengurus sistem dan perkhidmatan, manakala Crontab ialah alat untuk mengautomasikan tugas pada masa tertentu. Artikel ini akan menggunakan contoh khusus untuk memperkenalkan cara menggunakan Systemd dan Crontab untuk memulakan semula aplikasi secara automatik dalam sistem Linux.

Andaikan kami mempunyai aplikasi Node.js dan kami mahu memulakan aplikasi secara automatik selepas pelayan dimulakan semula. Pertama, kami perlu mencipta perkhidmatan Systemd untuk mengurus aplikasi kami. Buka editor teks dan buat fail yang dipanggil myapp.service. Dalam fail, tulis perkara berikut: myapp.service的文件。在文件中,写入以下内容:

[Unit]
Description=My Node.js App
After=network.target

[Service]
ExecStart=/usr/bin/node /path/to/app.js
WorkingDirectory=/path/to/app
Restart=always
User=nobody
Group=nogroup
Environment=PATH=/usr/bin:/usr/local/bin
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
Salin selepas log masuk

解释一下这个文件的各个部分。Unit部分定义了服务的描述和依赖项。Service部分定义了应用程序的启动命令、工作目录、重启策略以及应用程序运行的用户和组。Install

sudo mv myapp.service /etc/systemd/system/
Salin selepas log masuk

Terangkan pelbagai bahagian fail ini. Bahagian Unit mentakrifkan perihalan perkhidmatan dan kebergantungan. Bahagian Perkhidmatan mentakrifkan perintah permulaan aplikasi, direktori kerja, dasar mulakan semula dan pengguna serta kumpulan di mana aplikasi dijalankan. Bahagian Pasang mentakrifkan sasaran perkhidmatan yang harus didayakan.

Simpan dan tutup fail. Seterusnya, alihkan fail ke dalam direktori perkhidmatan Systemd. Jalankan arahan berikut:

sudo systemctl start myapp
Salin selepas log masuk

Kini kita boleh menggunakan Systemd untuk memulakan, menghentikan dan memulakan semula aplikasi. Jalankan arahan berikut untuk memulakan aplikasi:

sudo systemctl stop myapp
Salin selepas log masuk

Lakukan arahan berikut untuk menghentikan aplikasi:

sudo systemctl restart myapp
Salin selepas log masuk

Lakukan arahan berikut untuk memulakan semula aplikasi:

crontab -e
Salin selepas log masuk

Seterusnya, kami akan menggunakan Crontab untuk mengkonfigurasi mula semula biasa aplikasi . Buka terminal dan laksanakan arahan berikut untuk mengedit Crontab pengguna semasa:

0 3 * * * sudo systemctl restart myapp
Salin selepas log masuk
Dalam editor, tulis yang berikut:

rrreee

Entri Crontab ini bermaksud untuk memulakan semula aplikasi pada jam 3 pagi setiap hari. Anda boleh mengubah suai masa ini mengikut keperluan anda.

Simpan dan tutup fail. Kini, aplikasi dimulakan semula secara automatik pada pukul 3 pagi setiap hari.

Setakat ini, kami telah memperkenalkan cara menggunakan Systemd dan Crontab untuk memulakan semula aplikasi secara automatik dalam sistem Linux. Dengan menggunakan Systemd, kami boleh menguruskan permulaan, penghentian dan mulakan semula aplikasi dengan mudah. Dengan menggunakan Crontab, kami boleh memulakan semula aplikasi dengan kerap untuk memastikan kestabilan dan prestasinya. Harap artikel ini membantu anda! 🎜

Atas ialah kandungan terperinci Bagaimana untuk memulakan semula aplikasi secara automatik dalam Linux menggunakan Systemd dan Crontab. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!