FreeBSDde Nginx Ters Proxy ve Golang Kurulumu
Gereksinimler UNIX hakkında temel bilgiler. Nginx yüklü FreeBSD x64. Araçları Yükleme FreeBSD ile birlikte gönderilmeyen birkaç programa ihtiyacınız olacaktır. Ru
Bu kılavuz , Vultr Go istemcisi ile Go uygulamanızda Vultr Nesne Deposu oluşturmayı açıklar . Vultr Nesne Depolama, S3 API ile uyumludur.
Vultr Git istemcisi ile etkileşim için kullanılan Vultr API . Vultr API, hesabınızla ilişkili Vultr Nesne Depolaması da dahil olmak üzere kaynakları kontrol etmenizi sağlar. Vultr Go istemcisi hakkında ayrıntılı bilgi bu makalede bulunmaktadır .
Geçerli dizinde klasör oluşturun.
$ mkdir vultr_demo
Yeni klasörü girin.
$ cd vultr_demo
$ go mod init vultr_demo
$ go get github.com/vultr/govultr
VULTR_API_KEY ortam değişkenini API anahtarınıza ayarlayın. API anahtarınız burada bulunur: https://my.vultr.com/settings/#settingsapi
Uyarı: API anahtarınızı şifrenizi koruyacak şekilde koruyun. API anahtarı, faturalandırma, sunucular ve depolama dahil tüm hesabınıza erişebilir.
Örneğin, Ubuntu Linux'ta bu satırı şuraya ekleyin ~/.profile
.
export VULTR_API_KEY=YOUR_API_KEY_HERE
Aşağıdaki kod parçalarının her birini adlı yeni bir dosyaya yapıştırın main.go
. Tam dosya da indirilebilir .
Paketi kurun ve gerekli kitaplıkları alın.
package main
import (
"context"
"log"
"os"
"time"
"github.com/vultr/govultr"
)
main()
İşlevi başlatın .
func main() {
API anahtarı ortam değişkenini okuyun.
var (
// Get our Vultr API Key from an environment variable.
VultrAPIKey = os.Getenv("VULTR_API_KEY")
)
Vultr istemcisini oluşturun.
// Create a Vultr client with our API Key.
vultr := govultr.NewClient(nil, VultrAPIKey)
Nesne Deposu oluşturmak için bir konum belirtin. Küme konumlarını alın, kullanılabilir bir konum olduğunu doğrulayın, bir küme seçin ve görüntüleyin.
// Find the clusters we can create our Object Storage in.
clusters, err := vultr.ObjectStorage.ListCluster(ctx)
if err != nil {
log.Fatalf("Error listing clusters: %s", err)
}
// Verify there's at least one cluster.
if len(clusters) < 1 {
log.Fatal("Could not find any clusters to create our Object Storage")
}
// Choose the first cluster, and print it.
cluster := clusters[0]
log.Printf("Chosen cluster: %+v", cluster)
Seçilen kümede Nesne Deposu oluşturun.
// Create our Object Storage in the first cluster listed with our custom label.
label := "my-object-storage"
storageID, err := vultr.ObjectStorage.Create(ctx, cluster.ObjectStoreClusterID, label)
if err != nil {
log.Fatalf("Error creating storage: %s", err)
}
log.Printf("Created our Object Storage with the ID: %d", storageID.ID)
Nesne Deposu etkin olana kadar bekleyin.
var storage govultr.ObjectStorage
// Query the API every five seconds to until our server is ready.
for {
// List all of the Object Storage containers with our label and include the S3 credentials.
list, err := vultr.ObjectStorage.List(ctx, &govultr.ObjectListOptions{
Label: label,
IncludeS3: true,
})
if err != nil {
log.Fatalf("Error listing storage with label \"%s\": %s", label, err)
}
// Make sure we found one (and only one) Object Storage container.
if len(list) != 1 {
log.Fatalf("%d object storage containers exist with the label \"%s\"; we need 1", len(list), label)
}
storage = list[0]
// If the server is active, break out of this loop.
if storage.Status == "active" {
break
}
// Wait for five seconds before querying the API again.
log.Printf("The Object Storage's status is currently \"%s\", waiting for another five seconds to check if it's \"active\".", storage.Status)
time.Sleep(time.Second * 5)
}
Uç nokta adını ve bağlantı kimlik bilgilerini görüntüleyin.
// Print the information of our new Object Storage.
log.Print("Successfully created and listed our Object Storage!")
log.Printf("Object Storage: %+v", storage)
// We also have S3 credentials here now, so we could open an S3 compatible client.
log.Printf("S3 credentials: %s - %s - %s", storage.S3Hostname, storage.S3AccessKey, storage.S3SecretKey)
Ana işlevi sonlandırın.
// end main()
}
Tamamlanan main.go
dosyayı kaydedin ve çalıştırın .
go run main.go
2020/03/03 13:05:48 Chosen cluster: {ObjectStoreClusterID:2 RegionID:1 Location:New Jersey Hostname:ewr1.vultrobjects.com Deploy:yes}
2020/03/03 13:05:48 Created our Object Storage with the ID: xxxxxxxx
2020/03/03 13:05:49 The Object Storage's status is currently pending, waiting for another five seconds to check if it's active.
2020/03/03 13:06:06 Object Storage: {ID:34214512 DateCreated:2020-03-03 13:05:47 ObjectStoreClusterID:2 RegionID:1 Location:New Jersey Label:my-object-storage Status:active S3Keys:{S3Hostname:ewr1.vultrobjects.com S3AccessKey:[REDACTED ACCESS KEY] S3SecretKey:[REDACTED SECRET KEY]}}
2020/03/03 13:06:06 S3 credentials: ewr1.vultrobjects.com - [REDACTED ACCESS KEY] - [REDACTED SECRET KEY]
Bu örnekte, uç nokta adı ewr1.vultrobjects.com'dur ve anahtarlar düzeltilmiştir. Git programınız tarafından gösterilen uç nokta adını, erişim anahtarını ve gizli anahtarı kullanarak herhangi bir S3 uyumlu istemciyle yeni nesne depolama alanınıza erişin.
Gereksinimler UNIX hakkında temel bilgiler. Nginx yüklü FreeBSD x64. Araçları Yükleme FreeBSD ile birlikte gönderilmeyen birkaç programa ihtiyacınız olacaktır. Ru
Golang, Google tarafından geliştirilen bir programlama dilidir. Çok yönlülüğü, sadeliği ve güvenilirliği sayesinde Golang en popüler topluluklardan biri haline geldi
Go (Golang), Googleda geliştirilen ve basitlik ve güvenliğe odaklanan modern bir programlama dilidir. Sunucu tarafı için kullanılan popüler bir dil haline geldi
Go (Golang olarak da bilinir), Google tarafından geliştirilen statik olarak yazılmış, derlenmiş, C benzeri bir programlama dilidir. Gos basitliği ve çok yönlülüğü sayesinde
Golang, Google tarafından geliştirilen ve C geleneklerini koruyan, ancak basitlik ve güvenliğe odaklanan bir programlama dilidir. Popüler bir dil haline geldi
26 Büyük Veri Analitik Tekniğine Bir Bakış: 1. Bölüm
Birçoğunuz Switch'in Mart 2017'de çıkacağını ve yeni özelliklerini biliyorsunuz. Bilmeyenler için, 'Switch'i 'olmazsa olmaz bir gadget' yapan özelliklerin bir listesini hazırladık.
Teknoloji devlerinin sözlerini yerine getirmesini mi bekliyorsunuz? teslim edilmeyenleri kontrol edin.
Büyük Veri Mimarisindeki farklı katmanları ve işlevlerini en basit şekilde öğrenmek için blogu okuyun.
Yapay Zekanın küçük ölçekli şirketler arasında nasıl popüler hale geldiğini ve onları büyütme ve rakiplerine üstünlük sağlama olasılıklarını nasıl artırdığını öğrenmek için bunu okuyun.
CAPTCHA, son birkaç yılda kullanıcıların çözmesi oldukça zorlaştı. Gelecekte spam ve bot tespitinde etkili kalabilecek mi?
Bilim hızla gelişip birçok çabamızı üstlendikçe, kendimizi açıklanamaz bir Tekilliğe maruz bırakmanın riskleri de artıyor. Okuyun, tekillik bizim için ne anlama gelebilir.
Teletıp, uzaktan sağlık hizmetleri ve gelecek nesiller üzerindeki etkisi nedir? Pandemi durumunda iyi bir yer mi değil mi? Bir görünüm bulmak için blogu okuyun!
Bilgisayar korsanlarının çok para kazandığını duymuş olabilirsiniz, ancak bu kadar parayı nasıl kazandıklarını hiç merak ettiniz mi? Hadi tartışalım.
Son zamanlarda Apple, sorunları gidermek için macOS Catalina 10.15.4'ü ek bir güncelleme yayınladı, ancak güncelleme, mac makinelerinde tuğla oluşmasına neden olan daha fazla soruna neden oluyor gibi görünüyor. Daha fazla bilgi edinmek için bu makaleyi okuyun