Cara Memasang Panel Kontrol Hosting Mudah di Ubuntu 16.04
Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.
Perpustakaan Vultr Go resmi dapat digunakan untuk berinteraksi dengan Vultr API . API Vultr memungkinkan Anda untuk mengontrol sumber daya yang terkait dengan akun Anda, termasuk server, dns, firewall, snapshot, jaringan, dan banyak lagi. Tutorial ini akan memberikan pengantar untuk menggunakan klien Go API resmi dengan membuat aplikasi sederhana untuk mendapatkan informasi tentang server Anda.
Pertama, kita akan mulai dengan membuat modul (proyek) baru. Biasanya, Anda akan menggunakan URL ke repositori untuk kode Anda sebagai nama modul, tapi itu di luar cakupan tutorial ini. Untuk saat ini, kami akan menggunakan serverinfo sebagai nama modul.
Untuk membuat proyek, jalankan perintah berikut:
# Create the folder in the current directory.
mkdir serverinfo
# Enter the new folder.
cd serverinfo
# Initialize the module.
go mod init serverinfo
Selanjutnya, kita akan mengunduh pustaka API dari GitHub (situs hosting kode). Untuk mengunduh perpustakaan, Anda perlu menggunakan go getperintah. Ini akan secara otomatis mengunduh perpustakaan dan dependensinya sambil menambahkannya ke file go.mod . Di terminal yang sama dengan yang Anda buka sebelumnya, masukkan perintah berikut:
go get github.com/vultr/govultr
Untuk menggunakan klien API, Anda perlu kunci API Anda. Anda dapat mengambil kunci API Anda dari tab API bagian Akun di Dasbor Anda . Anda juga perlu mengesahkan alamat IP Anda untuk menggunakan kunci API. Anda dapat menemukan alamat IP Anda dengan membuka ifconfig.me . Perhatikan bahwa Anda mencari IP publik Anda , bukan IP pribadi Anda. IP pribadi Anda adalah apa yang akan Anda temukan dalam pengaturan jaringan di komputer Anda, dan berada dalam salah satu rentang CIDR berikut: 10.0.0.0/8 , 172.16.0.0/12 , atau 192.168.0.0/16 .
Setelah Anda memiliki alamat IP Anda, tambahkan di bawah bagian Access Control . Dalam kotak setelah / , ketik 32. /32adalah arti netmask 255.255.255.255. Ini berarti bahwa hanya IP Anda yang termasuk dalam kisaran tersebut.
Peringatan: Lindungi kunci API Anda seperti Anda akan melindungi kata sandi Anda. Kunci API memiliki akses ke seluruh akun Anda, termasuk penagihan, server, dan penyimpanan.
Sekarang, kita akan mulai mengerjakan program. Buka folder yang kami buat di editor pilihan Anda, dan buat file bernama main.go.
Di dalam file, ketik atau salin-tempel kode berikut:
package main
import (
"context"
"fmt"
"os"
"github.com/vultr/govultr"
)
func main() {
}
The package mainmemberitahu Go bahwa kita sedang membuat perintah, bukan perpustakaan. Pernyataan impor menyatakan dependensi yang akan kita gunakan. func main()adalah fungsi yang dipanggil ketika kita menjalankan program kita.
Langkah selanjutnya adalah menginisialisasi klien API. Untuk melakukan ini, kita perlu menggunakan fungsi govultr.NewClient (http.Client, string) . Tambahkan kode berikut di dalam fungsi main () :
client := govultr.NewClient(nil, "YOURAPIKEY")
Ganti YOURAPIKEYdengan kunci API yang Anda ambil sebelumnya.
Mari kita lihat kode ini sedikit lebih dekat. Di sisi kiri :=, kita miliki client. Itu adalah nama variabel . Variabel menyimpan nilai. Di sisi kanan, kami memiliki panggilan fungsi ke govultr.NewClient . Parameter pertama adalah nil, karena kita tidak perlu mengubah klien HTTP default. Parameter kedua adalah kunci API yang kami gunakan untuk mengotentikasi diri kami. The :=Operator memberikan hak-sisi ke sisi kiri, dalam hal ini, hasil dari fungsi panggilan untuk client.
Program kami masih belum melakukan apa pun. Untuk membuatnya berguna, kami akan mengambil informasi tentang server kami dari Vultr. Kami akan menggunakan fungsi govultr.Client.Server.List (context.Context) ([] govultr.Server, error) . Tambahkan kode berikut di akhir fungsi utama () :
servers, err := client.Server.List(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
Dalam kode ini, kami memanggil fungsi API untuk mengambil informasi server. Jangan khawatir tentang makna konteksnya , karena itu adalah topik yang lebih maju. Untuk saat ini, yang perlu kita ketahui adalah bahwa konteks mengontrol bagaimana klien API berjalan. context.Background () mengembalikan konteks kosong . Setelah kami mengambil informasi server ke dalam dua variabel, server dan err , kami memeriksa apakah ada kesalahan. Jika demikian, kami beri tahu pengguna kesalahan dan keluar dengan kode 1 (kesalahan).
Sekarang kita memiliki array server dalam variabel server ( [] govultr.Server ), kita sebenarnya dapat menampilkannya. Tambahkan kode berikut di akhir fungsi utama () :
fmt.Println("Servers:")
for _, server := range servers {
fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
server.Label,
server.MainIP,
server.Location,
server.PendingCharges,
server.CurrentBandwidth,
server.AllowedBandwidth,
)
}
Pertama, kami mencetak (menampilkan) sebuah header Servers:,. Kemudian, kita lewati array server , mengabaikan indeks dengan menetapkannya _, dan menetapkan server saat ini ke variabel server . Di dalam loop, kami menampilkan label server, alamat IP, lokasi, biaya yang tertunda, bandwidth saat ini, dan bandwidth yang diperbolehkan. Untuk melakukan ini secara efisien, kami menggunakan format string , string yang terlihat seperti " %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n". The %s sarana untuk menggantikan string berikutnya, sedangkan %.2fsarana untuk mencetak mengapung berikutnya (angka desimal) dibulatkan ke 2 desimal. Sisa dari format string dicetak secara literal (sebagaimana adanya).
Pada titik ini, kode Anda akan terlihat seperti berikut:
package main
import (
"context"
"fmt"
"os"
"github.com/vultr/govultr"
)
func main() {
client := govultr.NewClient(nil, "YOURAPIKEY")
servers, err := client.Server.List(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
fmt.Println("Servers:")
for _, server := range servers {
fmt.Printf(" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n",
server.Label,
server.MainIP,
server.Location,
server.PendingCharges,
server.CurrentBandwidth,
server.AllowedBandwidth,
)
}
}
Kami sekarang dapat menjalankan kode. Kembali ke terminal yang kita buka sebelumnya dan masukkan perintah go run. Outputnya akan menyerupai berikut ini:
Servers:
server1 (198.51.100.4) - New Jersey - $3.70 pending charges - 17.64/1000 GB bandwidth
server2 (198.51.100.9) - Toronto - $1.70 pending charges - 3.24/500 GB bandwidth
Jika Anda menerima kesalahan, pastikan kunci API dan alamat IP Anda sudah benar.
Pada titik ini, Anda akan berhasil mempelajari dasar-dasar cara menggunakan klien API resmi dan menulis program yang akan menampilkan informasi tentang server di akun Anda.
Dari sini, Anda dapat melakukan lebih banyak lagi. Misalnya, Anda dapat menulis sebuah program untuk menyediakan server baru saat Anda kehabisan memori. Anda dapat menulis aplikasi untuk meningkatkan server secara otomatis saat bandwidth atau penyimpanannya rendah. Anda bahkan dapat menulis alat untuk memperbarui data DNS secara otomatis berdasarkan IP Anda saat ini.
Untuk informasi lebih lanjut tentang perpustakaan govultr, Anda dapat menemukan dokumentasi perpustakaan govultr di godoc .
govultr adalah proyek sumber terbuka . Jika Anda menemukan bug di govultr, Anda dapat melaporkannya di GitHub . Anda juga dapat berkontribusi pada kode secara langsung dengan mengirimkan permintaan tarik .
Pelajari langkah-langkah untuk memasang Panel Kontrol Hosting Mudah (EHCP) di Ubuntu 16.04 dengan panduan ini.
Wawasan tentang 26 Teknik Analisis Data Besar: Bagian 1
Baca blog untuk mengetahui berbagai lapisan dalam Arsitektur Big Data dan fungsinya dengan cara yang paling sederhana.
Banyak dari Anda tahu Switch keluar pada Maret 2017 dan fitur-fitur barunya. Bagi yang belum tahu, kami sudah menyiapkan daftar fitur yang membuat 'Switch' menjadi 'gadget yang wajib dimiliki'.
Apakah Anda menunggu raksasa teknologi untuk memenuhi janji mereka? periksa apa yang belum terkirim.
Baca ini untuk mengetahui bagaimana Kecerdasan Buatan menjadi populer di antara perusahaan skala kecil dan bagaimana hal itu meningkatkan kemungkinan untuk membuat mereka tumbuh dan memberi keunggulan pada pesaing mereka.
Saat Sains Berkembang dengan kecepatan tinggi, mengambil alih banyak upaya kita, risiko menundukkan diri kita pada Singularitas yang tidak dapat dijelaskan juga meningkat. Baca, apa arti singularitas bagi kita.
CAPTCHA telah berkembang cukup sulit bagi pengguna untuk dipecahkan dalam beberapa tahun terakhir. Apakah itu akan tetap efektif dalam deteksi spam dan bot di masa mendatang?
Apa itu telemedicine, perawatan kesehatan jarak jauh dan dampaknya terhadap generasi mendatang? Apakah itu tempat yang bagus atau tidak dalam situasi pandemi? Baca blog untuk menemukan tampilan!
Anda mungkin pernah mendengar bahwa peretas menghasilkan banyak uang, tetapi pernahkah Anda bertanya-tanya bagaimana cara mereka mendapatkan uang sebanyak itu? mari berdiskusi.