Rumah  >  Artikel  >  pembangunan bahagian belakang  >  penyebaran dalam talian golang

penyebaran dalam talian golang

WBOY
WBOYasal
2023-05-27 11:18:09579semak imbas

1. Kata Pengantar

Dengan kemajuan teknologi dan popularisasi Internet, semakin banyak aplikasi dan perkhidmatan perlu digunakan dalam talian. Dalam proses ini, memilih bahasa pengaturcaraan yang sesuai juga merupakan bahagian yang perlu. Golang, sebagai bahasa pengaturcaraan sumber terbuka, sangat dipuji kerana kelajuan, kecekapan dan kestabilannya. Artikel ini akan memperkenalkan secara terperinci langkah-langkah untuk penggunaan dalam talian Golang dan penyelesaian kepada masalah biasa.

2. Penyusunan dan pembungkusan projek Golang

Sebelum menggunakan projek Golang, susun dan bungkusnya ke dalam fail boleh laku binari. Dua kaedah penyusunan berbeza diperkenalkan di bawah.

  1. Gunakan arahan go build

Gunakan arahan go build terbina dalam bahasa Go untuk melengkapkan kompilasi dan pembungkusan. Format arahan adalah seperti berikut, di mana main.go ialah nama fail kemasukan.

go build -o output main.go

Selepas menjalankan arahan, fail boleh laku bernama output akan dijana dalam direktori semasa.

  1. Menyusun dengan Bekas Docker

Docker ialah alat kontena yang digunakan secara meluas. Menggunakan bekas Docker untuk menyusun dan membungkus projek Golang membolehkan kami menggunakan dan menaik taraf aplikasi dengan lebih mudah.

Laksanakan arahan berikut untuk menarik imej Golang dan masukkan bekas:

docker pull golang:latest
docker run -itd --name go golang:latest
docker exec -it go bash

Masukkan folder projek dalam bekas dan gunakan arahan go build untuk menyusun dan membungkus projek.

go build -o output main.go

Selepas pelaksanaan, anda boleh menggunakan arahan scp dalam bekas untuk menyalin fail binari yang dijana ke tempatan.

scp root@ip:/path/to/yourfile .

3. Penggunaan projek Golang

Selepas menyiapkan penyusunan dan pembungkusan projek Golang, ia boleh digunakan ke persekitaran pengeluaran. Dua kaedah penggunaan projek Golang biasa diperkenalkan di bawah.

  1. Penyerahan baris arahan

Untuk menggunakan baris arahan untuk menggunakan terus projek Golang, anda perlu menjalankan arahan berikut dan mengisi nombor port dan laluan fail boleh laku selepas port dan output masing-masing.

nohup ./output -port=8080 > app.log 2>&1 &

Arahan ini akan menjalankan aplikasi Golang di latar belakang dan mengeluarkan log ke fail app.log.

  1. Gunakan penggunaan perkhidmatan systemd

Systemd ialah pengurus sistem dan perkhidmatan yang digunakan secara meluas dalam sistem Linux. Menggunakan systemd untuk menggunakan projek Golang membolehkan kami menggunakan aplikasi dengan lebih pantas dan lebih stabil.

Anda boleh mencipta fail perkhidmatan bernama app.service, yang mengandungi maklumat seperti laluan pelaksanaan, laluan log, jenis permulaan dan pembolehubah persekitaran yang diperlukan bagi aplikasi Golang. Fail sampel adalah seperti berikut:

[Unit]
Description=Golang Application Service
After=network.target
Requires=network.target
 
[Service]
ExecStart=/path/to/output -port=8080
WorkingDirectory=/path/to/
Restart=always
RestartSec=3
StartLimitBurst=10
StartLimitInterval=60s
 
StandardOutput=file:/var/log/app.log
StandardError=file:/var/log/app.log
 
[Install]
WantedBy=multi-user.target

Sebelum mendayakan perkhidmatan systemctl, anda perlu meletakkan fail dalam direktori /etc/systemd/system/ dan dayakan perkhidmatan melalui arahan berikut.

systemctl daemon-reload
systemctl enable app.service
systemctl start app.service

Selepas melaksanakan arahan di atas, aplikasi Golang boleh berjaya digunakan ke persekitaran pengeluaran.

4. Penyelesaian kepada masalah biasa

  1. Konflik pelabuhan

Apabila menjalankan projek Golang, jika anda memilih nombor port yang diduduki, ia akan Menyebabkan program gagal dimulakan. Penyelesaiannya adalah untuk menentukan nombor port yang tidak diduduki dalam arahan run. Anda boleh menyemak penghunian port dengan arahan berikut.

lsof -i:端口号
  1. Tidak dapat mengakses pangkalan data MySQL

Jika pangkalan data MySQL digunakan dalam projek Golang, tetapi "tiada hos sedemikian" dan maklumat lain yang berkaitan digesa apabila program bermula, ia mungkin Pangkalan data MySQL tidak dikonfigurasikan dengan betul. Ia adalah perlu untuk menyemak sama ada pangkalan data MySQL telah dipasang dengan betul dan sama ada ia boleh disambungkan.

  1. Penggunaan memori sistem terlalu tinggi

Apabila menggunakan projek Golang, jika penggunaan memori terlalu tinggi, mungkin terdapat masalah dengan aplikasi Golang itu sendiri. Pada masa ini, anda perlu menyemak logik kod, mengoptimumkan program dan mengurangkan penggunaan memori.

Artikel ini memperkenalkan kaedah penyusunan, pembungkusan dan penggunaan projek Golang, serta penyelesaian kepada masalah biasa. Saya harap ia dapat membawa sedikit bantuan kepada pemaju Golang dalam proses penempatan projek.

Atas ialah kandungan terperinci penyebaran dalam talian golang. 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
Artikel sebelumnya:Golang melaksanakan set tugasanArtikel seterusnya:Golang melaksanakan set tugasan