วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
อย่างเป็นทางการ Vultr ห้องสมุดไปสามารถนำมาใช้ในการโต้ตอบกับ Vultr API Vultr API ช่วยให้คุณสามารถควบคุมทรัพยากรที่เกี่ยวข้องกับบัญชีของคุณรวมถึงเซิร์ฟเวอร์, dns, ไฟร์วอลล์, ภาพรวม, เครือข่ายและอื่น ๆ บทช่วยสอนนี้จะให้คำแนะนำเกี่ยวกับการใช้ไคลเอนต์ Go API อย่างเป็นทางการโดยการสร้างแอปพลิเคชันอย่างง่ายเพื่อรับข้อมูลเกี่ยวกับเซิร์ฟเวอร์ของคุณ
ก่อนอื่นเราจะเริ่มต้นด้วยการสร้างโมดูลใหม่ (โครงการ) โดยปกติแล้วคุณจะใช้ URL ไปยังที่เก็บสำหรับรหัสของคุณเป็นชื่อโมดูล แต่มันอยู่นอกเหนือขอบเขตของบทช่วยสอนนี้ สำหรับตอนนี้เราจะใช้serverinfoเป็นชื่อโมดูล
ในการสร้างโครงการให้รันคำสั่งต่อไปนี้:
# Create the folder in the current directory.
mkdir serverinfo
# Enter the new folder.
cd serverinfo
# Initialize the module.
go mod init serverinfo
ต่อไปเราจะดาวน์โหลดไลบรารี API จาก GitHub (ไซต์โฮสต์โค้ด) ในการดาวน์โหลดgo getไลบรารี่คุณต้องใช้คำสั่ง นี่จะดาวน์โหลดไลบรารีและการอ้างอิงโดยอัตโนมัติขณะที่เพิ่มลงในไฟล์go.mod ในเทอร์มินัลเดียวกับที่คุณเปิดไว้ก่อนหน้านี้ให้ป้อนคำสั่งต่อไปนี้:
go get github.com/vultr/govultr
ในการใช้ไคลเอนต์ API คุณจะต้องใช้รหัส API ของคุณ คุณสามารถดึงคีย์ API ของคุณจากAPIแท็บบัญชีส่วนของ แดชบอร์ด คุณจะต้องให้สิทธิ์ที่อยู่ IP ของคุณเพื่อใช้คีย์ API คุณสามารถค้นหาที่อยู่ IP ของคุณได้โดยไปที่ifconfig.me โปรดทราบว่าคุณกำลังมองหาIP สาธารณะไม่ใช่ส่วนตัวของคุณ IP ส่วนตัวของคุณเป็นสิ่งที่คุณจะพบในการตั้งค่าเครือข่ายของคุณบนคอมพิวเตอร์ของคุณและเป็นหนึ่งในช่วง CIDR ต่อไปนี้: 10.0.0.0/8 , 172.16.0.0/12หรือ192.168.0.0/16
เมื่อคุณมีอยู่ IP ของคุณเพิ่มภายใต้การควบคุมการเข้าถึงส่วน ในกล่องหลังจากที่/32ชนิด เป็นความหมาย/32 netmask 255.255.255.255ซึ่งหมายความว่าเฉพาะ IP ของคุณรวมอยู่ในช่วง
คำเตือน:ปกป้องรหัส API ของคุณเช่นเดียวกับที่คุณปกป้องรหัสผ่าน รหัส API สามารถเข้าถึงบัญชีทั้งหมดของคุณรวมถึงการเรียกเก็บเงินเซิร์ฟเวอร์และที่เก็บข้อมูล
ตอนนี้เรากำลังจะเริ่มทำงานกับโปรแกรม main.goเปิดโฟลเดอร์ที่เราสร้างในทางเลือกของการแก้ไขและสร้างไฟล์ชื่อ
ในไฟล์พิมพ์หรือคัดลอกวางรหัสต่อไปนี้:
package main
import (
"context"
"fmt"
"os"
"github.com/vultr/govultr"
)
func main() {
}
การpackage mainบอกว่าเรากำลังสร้างคำสั่งไม่ใช่ไลบรารี คำสั่งการนำเข้าประกาศการขึ้นต่อกันที่เราจะใช้ func main()เป็นฟังก์ชั่นที่เรียกว่าเมื่อเราเรียกใช้โปรแกรมของเรา
ขั้นตอนต่อไปคือการเริ่มต้นไคลเอนต์ API การทำเช่นนี้เราจำเป็นต้องใช้ govultr.NewClient (http.Client สตริง)ฟังก์ชั่น เพิ่มรหัสต่อไปนี้ภายในฟังก์ชั่นmain () :
client := govultr.NewClient(nil, "YOURAPIKEY")
แทนที่YOURAPIKEYด้วยคีย์ API ที่คุณดึงมาก่อนหน้านี้
ลองดูโค้ดนี้ให้ใกล้หน่อย ที่ด้านซ้ายของเรามี:= clientนั่นคือชื่อของที่ตัวแปร ตัวแปรเก็บค่า อยู่ทางด้านขวาเรามีการเรียกใช้ฟังก์ชันเพื่อgovultr.NewClient พารามิเตอร์แรกคือไม่มีเนื่องจากเราไม่จำเป็นต้องเปลี่ยนไคลเอนต์ HTTP เริ่มต้น พารามิเตอร์ที่สองคือคีย์ API ที่เราใช้ในการตรวจสอบตัวเราเอง ประกอบการกำหนดด้านขวาไปทางด้านซ้ายในกรณีนี้เป็นผลมาจากการเรียกฟังก์ชั่นกับ:=client
โปรแกรมของเรายังไม่ได้ทำอะไรเลย เพื่อให้มีประโยชน์เราจะดึงข้อมูลเกี่ยวกับเซิร์ฟเวอร์ของเราจาก Vultr เราจะใช้ govultr.Client.Server.List (context.Context) ([] govultr.Server ข้อผิดพลาด) ฟังก์ชั่น เพิ่มรหัสต่อไปนี้ที่ท้ายฟังก์ชั่นmain () :
servers, err := client.Server.List(context.Background())
if err != nil {
fmt.Fprintf(os.Stderr, "Error: %v\n", err)
os.Exit(1)
}
ในรหัสนี้เรากำลังเรียกใช้ฟังก์ชัน API เพื่อดึงข้อมูลเซิร์ฟเวอร์ ยังไม่ต้องกังวลเกี่ยวกับความหมายของบริบทเนื่องจากเป็นหัวข้อขั้นสูง ในตอนนี้สิ่งที่เราต้องรู้ก็คือบริบท จะควบคุมวิธีการทำงานของไคลเอนต์ API context.Background ()ส่งกลับว่างเปล่า บริบท หลังจากที่เราดึงข้อมูลเซิร์ฟเวอร์ออกเป็นตัวแปรสองตัวคือ เซิร์ฟเวอร์และข้อผิดพลาดเราตรวจสอบว่ามีข้อผิดพลาดหรือไม่ ถ้าเป็นเช่นนั้นเราจะแจ้งให้ผู้ใช้ทราบถึงข้อผิดพลาดและออกด้วยรหัส 1 (ข้อผิดพลาด)
ตอนนี้เรามีเซิร์ฟเวอร์หลายตัวในตัวแปรเซิร์ฟเวอร์ ( [] govultr.Server ) เราสามารถแสดงผลได้จริง เพิ่มรหัสต่อไปนี้ที่ท้ายฟังก์ชั่นmain () :
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,
)
}
ก่อนอื่นเราพิมพ์ (แสดง) ส่วนหัว, Servers:. จากนั้นเราวนลูป อาร์เรย์เซิร์ฟเวอร์ละเว้นดัชนีโดยการกำหนดให้_และกำหนดเซิร์ฟเวอร์ปัจจุบันให้กับตัวแปรเซิร์ฟเวอร์ ภายในวงเราจะแสดงฉลากของเซิร์ฟเวอร์, ที่อยู่ IP, ตำแหน่ง, ค่าใช้จ่ายที่ค้างอยู่, แบนด์วิดท์ปัจจุบันและแบนด์วิดท์ที่อนุญาต การทำเช่นนี้ efficently เราจะใช้รูปแบบสตริง" %s (%s) - %s - $%s pending charges - %.2f/%s GB bandwidth\n"สตริงซึ่งมีลักษณะเหมือน %s วิธีการที่จะใช้แทนสตริงต่อไปในขณะที่%.2fวิธีการที่จะพิมพ์ลอยถัดไป (เลขทศนิยม) ปัดเศษทศนิยม 2 ตำแหน่ง ส่วนที่เหลือของสตริงรูปแบบจะถูกพิมพ์อย่างแท้จริง (ตามที่เป็น)
ณ จุดนี้รหัสของคุณควรมีลักษณะดังนี้:
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,
)
}
}
ตอนนี้เราสามารถเรียกใช้รหัส go runกลับไปยังที่เราเปิดสถานีก่อนหน้านี้และป้อนคำสั่ง ผลลัพธ์จะมีลักษณะดังต่อไปนี้:
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
หากคุณได้รับข้อผิดพลาดให้ตรวจสอบว่าคีย์ API และที่อยู่ IP ของคุณถูกต้อง
ณ จุดนี้คุณจะได้เรียนรู้พื้นฐานการใช้งาน API ลูกค้าอย่างเป็นทางการและเขียนโปรแกรมซึ่งจะแสดงข้อมูลเกี่ยวกับเซิร์ฟเวอร์ในบัญชีของคุณ
จากที่นี่คุณสามารถทำอะไรได้มากกว่านี้ ตัวอย่างเช่นคุณสามารถเขียนโปรแกรมเพื่อจัดเตรียมเซิร์ฟเวอร์ใหม่เมื่อหน่วยความจำเหลือน้อย คุณสามารถเขียนแอพเพื่ออัปเกรดเซิร์ฟเวอร์ของคุณโดยอัตโนมัติเมื่อคุณมีแบนด์วิดท์หรือพื้นที่จัดเก็บต่ำ คุณสามารถเขียนเครื่องมือเพื่ออัปเดตระเบียน DNS โดยอัตโนมัติตาม IP ปัจจุบันของคุณ
สำหรับข้อมูลเพิ่มเติมเกี่ยวกับห้องสมุด govultr คุณสามารถค้นหาเอกสารห้องสมุด govultr บนgodoc
govultr เป็น โครงการโอเพนซอร์ส หากคุณพบข้อบกพร่องใด ๆ ใน govultr คุณสามารถรายงานพวกเขาบน GitHub นอกจากนี้คุณยังสามารถนำไปสู่รหัสโดยตรงโดยการส่ง คำขอดึง
เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย
เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์
เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ
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