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.
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.
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.
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.
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
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:端口号
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.
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!