Nginx Reverse Proxy และการตั้งค่า Golang บน FreeBSD
ข้อกำหนดความรู้พื้นฐานของ UNIX FreeBSD x64 พร้อมติดตั้ง Nginx ติดตั้งเครื่องมือคุณจะต้องใช้หลายโปรแกรมที่ไม่ได้จัดส่งมาพร้อมกับ FreeBSD Ru
คู่มือนี้จะอธิบายวิธีการสร้างการเก็บรักษาวัตถุ Vultrในใบสมัครของคุณไปกับลูกค้า Vultr ไป Vultr Object Storage เข้ากันได้กับ S3 API
ลูกค้า Vultr ไปใช้ในการโต้ตอบกับVultr API Vultr API ช่วยให้คุณควบคุมทรัพยากรที่เกี่ยวข้องกับบัญชีของคุณรวมถึง Vultr Object Storage ข้อมูลรายละเอียดเกี่ยวกับลูกค้า Vultr ไปมีอยู่ใน บทความนี้
สร้างโฟลเดอร์ในไดเรกทอรีปัจจุบัน
$ mkdir vultr_demo
เข้าสู่โฟลเดอร์ใหม่
$ cd vultr_demo
$ go mod init vultr_demo
$ go get github.com/vultr/govultr
ตั้งค่าตัวแปรสภาพแวดล้อม VULTR_API_KEY เป็นคีย์ API ของคุณ รหัส API ของคุณอยู่ที่นี่: https://my.vultr.com/settings/#settingsapi
คำเตือน:ปกป้องรหัส API ของคุณเช่นเดียวกับที่คุณปกป้องรหัสผ่าน รหัส API สามารถเข้าถึงบัญชีทั้งหมดของคุณรวมถึงการเรียกเก็บเงินเซิร์ฟเวอร์และที่เก็บข้อมูล
ตัวอย่างเช่นบน Ubuntu Linux ให้เพิ่มบรรทัด~/.profile
นี้
export VULTR_API_KEY=YOUR_API_KEY_HERE
main.go
วางแต่ละชิ้นส่วนรหัสต่อไปนี้เป็นไฟล์ใหม่ที่ชื่อว่า ไฟล์สมบูรณ์ยังสามารถดาวน์โหลดได้
ตั้งค่าแพ็คเกจและนำเข้าไลบรารีที่ต้องการ
package main
import (
"context"
"log"
"os"
"time"
"github.com/vultr/govultr"
)
เริ่มmain()
ฟังก์ชั่น
func main() {
อ่านตัวแปรสภาพแวดล้อมของคีย์ API
var (
// Get our Vultr API Key from an environment variable.
VultrAPIKey = os.Getenv("VULTR_API_KEY")
)
สร้างไคลเอนต์ Vultr
// Create a Vultr client with our API Key.
vultr := govultr.NewClient(nil, VultrAPIKey)
ระบุที่ตั้งเพื่อสร้างที่เก็บข้อมูลวัตถุ รับตำแหน่งคลัสเตอร์ตรวจสอบว่ามีอยู่เลือกคลัสเตอร์แล้วแสดง
// 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)
สร้างที่เก็บข้อมูลวัตถุในคลัสเตอร์ที่เลือก
// 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)
รอจนกว่า Object Storage จะเปิดใช้งาน
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)
}
แสดงชื่อปลายทางและข้อมูลรับรองการเชื่อมต่อ
// 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)
สิ้นสุดฟังก์ชั่นหลัก
// end main()
}
บันทึกและเรียกใช้main.go
ไฟล์ที่เสร็จสมบูรณ์
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]
ในตัวอย่างนี้ชื่อจุดปลายคือ ewr1.vultrobjects.com และมีการใส่รหัสใหม่ เข้าถึงที่เก็บข้อมูลวัตถุใหม่ของคุณด้วยไคลเอนต์ที่เข้ากันได้กับ S3 โดยใช้ชื่อจุดปลาย, รหัสการเข้าถึงและรหัสลับที่แสดงโดยโปรแกรม Go ของคุณ
ข้อกำหนดความรู้พื้นฐานของ UNIX FreeBSD x64 พร้อมติดตั้ง Nginx ติดตั้งเครื่องมือคุณจะต้องใช้หลายโปรแกรมที่ไม่ได้จัดส่งมาพร้อมกับ FreeBSD Ru
Golang เป็นภาษาโปรแกรมที่พัฒนาโดย Google ด้วยความเก่งกาจความเรียบง่ายและความน่าเชื่อถือทำให้ Golang กลายเป็นหนึ่งในประชากรที่มีชื่อเสียงมากที่สุด
Go (Golang) เป็นภาษาการเขียนโปรแกรมที่ทันสมัยที่พัฒนาโดย Google และมุ่งเน้นไปที่ความเรียบง่ายและความปลอดภัย มันได้กลายเป็นภาษายอดนิยมที่ใช้สำหรับเซิร์ฟเวอร์ -sid
Go (หรือที่รู้จักกันในชื่อ Golang) เป็นภาษาการเขียนโปรแกรมแบบคงที่เรียบเรียงและเรียบเรียงซึ่งพัฒนาโดย Google ความเรียบง่ายและความอเนกประสงค์ของ Gos ทำให้ b
Golang เป็นภาษาโปรแกรมที่พัฒนาโดย Google ซึ่งจะรักษาขนบธรรมเนียมของ C แต่มุ่งเน้นไปที่ความเรียบง่ายและความปลอดภัย มันได้กลายเป็นภาษาที่นิยม
ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน
การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane
ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+
อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ
เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม
13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data
คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true
ในขณะที่วิทยาศาสตร์มีวิวัฒนาการไปอย่างรวดเร็ว โดยรับช่วงต่อความพยายามของเราอย่างมาก ความเสี่ยงในการทำให้ตัวเองตกอยู่ในภาวะภาวะเอกฐานที่อธิบายไม่ได้ก็เพิ่มขึ้นเช่นกัน อ่านว่าภาวะเอกฐานอาจมีความหมายสำหรับเราอย่างไร
ข้อมูลเชิงลึกเกี่ยวกับ 26 เทคนิคการวิเคราะห์ข้อมูลขนาดใหญ่: ตอนที่ 1
AI ในการดูแลสุขภาพได้ก้าวกระโดดอย่างมากจากทศวรรษที่ผ่านมา ดังนั้นอนาคตของ AI ในการดูแลสุขภาพจึงยังคงเติบโตทุกวัน