Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk menggunakan dan mempertahankan aplikasi golang menggunakan systemd

Bagaimana untuk menggunakan dan mempertahankan aplikasi golang menggunakan systemd

PHPz
PHPzasal
2023-04-05 09:09:501306semak imbas

Dalam era pengkomputeran awan, penggunaan pantas membolehkan pembangun menyampaikan produk dengan cepat dan bertindak balas dengan cepat kepada keperluan pengguna. Golang telah menjadi bahasa pengaturcaraan yang sangat diperlukan dalam bidang pengkomputeran awan sejak beberapa tahun kebelakangan ini. Ia menggabungkan kompilasi pantas dan prestasi serentak yang cekap. Tetapi bagaimana jika aplikasi ranap? Untuk memastikan aplikasi berjalan, kita perlu menggunakan daemon untuk memantau dan memulakan semula aplikasi. Artikel ini akan memperkenalkan cara menggunakan systemd untuk menggunakan dan mempertahankan aplikasi golang.

1. Sistem pemasangan dan konfigurasi

systemd ialah salah satu sistem pengurusan permulaan dan daemon yang paling popular hari ini. Ia bertanggungjawab untuk memulakan perkhidmatan sistem dan daemon, memantau status mereka dan memulakannya semula apabila perlu. Sebelum menggunakan systemd, ia mesti dipasang.

Gunakan arahan berikut untuk memasang systemd:

$ sudo apt-get update
$ sudo apt-get install -y systemd

2 Cipta fail perkhidmatan

Sebelum mencipta daemon, kita perlu mencipta fail perkhidmatan systemd. Fail perkhidmatan ialah fail teks yang mengandungi maklumat yang menerangkan perkhidmatan. Lokasi fail perkhidmatan adalah dalam direktori /etc/systemd/system/. Sebagai contoh, kami mencipta fail perkhidmatan bernama golang-demo.service:

$ sudo touch /etc/systemd/system/golang-demo.service

Edit fail golang-demo.service:

$ sudo nano /etc/systemd/system/golang-demo.service

Tambah kandungan berikut dalam fail:

[Unit]
Description=My golang app
After=network.target

[Service]
Type=simple
User=ubuntu
Group=ubuntu
ExecStart=/usr/local/bin/golang-demo

[Install]
WantedBy=multi-user.target

Bahagian

  • [Unit] mengandungi nama perkhidmatan dan perihalan, dan bila perkhidmatan harus dimulakan (selepas network.target). Bahagian
  • [Service] menerangkan butiran untuk memulakan perkhidmatan, termasuk pengguna, kumpulan yang digunakan dan lokasi fail skrip permulaan. Bahagian
  • [Install] menentukan sasaran di mana systemd harus memulakan perkhidmatan.

3. Buat aplikasi golang

Seterusnya, kita perlu buat aplikasi golang bernama golang-demo. Dalam terminal, gunakan arahan git berikut untuk mengklon aplikasi go mudah:

$ git clone https://github.com/shalar/golang-demo.git

Pergi ke direktori projek, dan bina serta susun aplikasi:

$ cd golang-demo
$ go build

Kita perlu menjana fail Binari golang-demo dialihkan ke dalam direktori /usr/local/bin.

$ sudo mv golang-demo /usr/local/bin/

4. Mulakan perkhidmatan dan ujinya

Sekarang, kami bersedia untuk memulakan perkhidmatan dan mengujinya. Gunakan arahan untuk memulakan perkhidmatan:

$ sudo systemctl start golang-demo.service

Lihat status perkhidmatan:

$ sudo systemctl status golang-demo.service

Melihat active (running) bermakna perkhidmatan sedang berjalan dan boleh diakses melalui penyemak imbas http://localhost: 8080, anda sepatutnya dapat melihat output.

5. Auto mula semasa but

Seperti yang dinyatakan di atas, dalam bahagian [Install], kami menentukan sistem sasaran yang harus memulakan perkhidmatan. Sekarang, kita boleh menggunakan arahan berikut untuk bermula secara automatik semasa but:

$ sudo systemctl enable golang-demo.service

Kini, sistem akan memulakan perkhidmatan secara automatik setiap kali ia dimulakan.

6. Kesimpulan

Artikel ini memperkenalkan cara menggunakan systemd untuk menggunakan dan melindungi aplikasi golang. systemd ialah pengurus daemon yang popular yang boleh mengurus permulaan, berhenti, memulakan semula dan operasi perkhidmatan lain dengan mudah, memastikan aplikasi kami sentiasa dalam talian.

Atas ialah kandungan terperinci Bagaimana untuk menggunakan dan mempertahankan aplikasi golang menggunakan systemd. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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