نحوه نصب Anchor CMS بر روی یک VPS Fedora 26 LAMP
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
از کتابخانه رسمی Vultr Go می توان برای تعامل با API Vultr استفاده کرد . 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 بخش Account Dashboard خود بازیابی کنید . همچنین برای استفاده از کلید API باید به آدرس IP خود اجازه دهید. می توانید با مراجعه به ifconfig.me آدرس IP خود را پیدا کنید . توجه داشته باشید که شما به دنبال آی پی عمومی خود هستید ، نه خصوصی شما. IP خصوصی شما همان چیزی است که شما در تنظیمات شبکه در رایانه خود پیدا می کنید و در یکی از محدوده های CIDR زیر قرار دارد: 10.0.0.0/8 ، 172.16.0.0/12 یا 192.168.0.0/16 .
پس از آدرس IP خود ، آن را در قسمت Access Control اضافه کنید . در کادر بعد از / ، تایپ کنید 32. /32معنای خالص 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 ، string) استفاده کنیم. کد زیر را درون عملکرد اصلی () اضافه کنید:
client := govultr.NewClient(nil, "YOURAPIKEY")
YOURAPIKEYبا کلید API که قبلاً بازیابی کرده اید جایگزین کنید .
بیایید کمی به این کد نگاه کنیم. در سمت چپ :=، ما داریم client. این نام متغیر است . مقادیر متغیر را ذخیره می کند. در سمت راست ، ما یک فراخوان عملکردی به govultr.NewClient داریم . پارامتر اول صفر است ، زیرا نیازی به تغییر سرویس گیرنده HTTP پیش فرض نداریم. پارامتر دوم کلید API است که ما برای تأیید اعتبار خود از آن استفاده می کنیم. :=اپراتور اختصاص به سمت راست به سمت چپ، در این مورد، در نتیجه از فراخوانی تابع به client.
برنامه ما هنوز هیچ کاری انجام نمی دهد. برای استفاده از آن ، ما می خواهیم اطلاعات مربوط به سرورهای خود را از Vultr بازیابی کنیم. ما از تابع govultr.Client.Server.List (ext.Context) ([] govultr.Server ، خطا) استفاده خواهیم کرد. کد زیر را در انتهای عملکرد اصلی () اضافه کنید:
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 ) داریم ، می توانیم در واقع آن را نمایش دهیم. کد زیر را در انتهای عملکرد اصلی () اضافه کنید:
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 ، مکان ، هزینه های در انتظار ، پهنای باند فعلی و پهنای باند مجاز را نمایش می دهیم. برای انجام این کار ، از رشته های قالب استفاده می کنیم ، رشته ای که به نظر می رسد " %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 گزارش دهید . همچنین می توانید با ارسال درخواست کشش به طور مستقیم به کد کمک کنید .
با استفاده از یک سیستم متفاوت؟ Anchor CMS یک سیستم مدیریت محتوا (CMS) بسیار ساده و بسیار سبک ، بسیار آزاد و آزاد است.
NFS یک سیستم فایل مبتنی بر شبکه است که به رایانه ها اجازه می دهد تا از طریق شبکه رایانه ای به فایلها دسترسی پیدا کنند. این راهنما توضیح می دهد که چگونه می توانید پوشه ها را روی NF قرار دهید
هنگام راه اندازی سرور جدید لینوکس ، به روزرسانی سیستم های هسته و سایر بسته ها تا آخرین نسخه پایدار یک روش توصیه شده است. در این مقاله
LiteCart یک بستر سبد خرید آزاد و منبع باز است که به زبان های PHP ، jQuery و HTML 5 نوشته شده است. این نرم افزار ساده ، سبک و با کاربرد آسان است.
با استفاده از یک سیستم متفاوت؟ Matomo (سابقا پیویک) یک بستر تحلیلی منبع باز است ، یک جایگزین باز برای Google Analytics. منبع Matomo میزبان o
TeamTalk یک سیستم کنفرانس است که به کاربران امکان می دهد مکالمات صوتی / تصویری با کیفیت بالا ، چت متنی ، انتقال فایل ها و صفحه های به اشتراک بگذارند. من
Vultr یک ویژگی را فراهم می کند که به شما امکان می دهد با ایجاد یک نمونه جدید ، کلیدهای SSH را از قبل نصب کنید. این اجازه می دهد تا به کاربر root دسترسی داشته باشید ، با این حال ، th
با استفاده از یک سیستم متفاوت؟ NodeBB یک نرم افزار انجمن مبتنی بر Node.js است. از سوکت های وب برای تعامل فوری و اعلامیه های زمان واقعی استفاده می کند. NodeB
رنجر یک مدیر فایل مبتنی بر خط فرمان است که دارای کلیدهای اتصال VI است. این برنامه یک رابط لعنتی مینیمالیستی و زیبا با نمای سلسله مراتب فهرست ارائه می دهد
ZNC یک پیشرانه پیشرفته شبکه IRC است که تمام وقت بهم متصل می شود تا مشتری IRC بتواند بدون از دست دادن جلسه گپ قطع یا وصل شود.