نکات تکمیلی سرور ابری
در این بخش می خواهیم نکات تکمیلی سرور ابری را به شما آموزش دهیم.
اتصال دامنه
روشهای مختلفی برای اتصال دامنه به سرور ابری وجود دارد که در این قسمت شما را راهنمایی میکنیم. ۳ روش مرسوم برای اتصال دامنه به سرور ابری را بررسیمیکنیم:
- اتصال از طریق A Record
- اتصال از طریق DNS اختصاصی
- اتصال از طریق CDN
در چابکان میتوانید بهسادگی دامنهی جدید ثبت کنید، دامنهی خود را تمدید یا خریداری کنید و حتی دامنهتان را به
چابکان منتقل کنید.
این امکانات به شما کمک میکند مدیریت مالکیت دامنهتان را در کنار سایر سرویسهای چابکان یکپارچه کنید. برای راهنمایی بیشتر
به این مستند مراجعه کنید.
اتصال دامنه از طریق A Record
این روش، آسانترین راه برای لینک کردن دامنه به سرور ابری محسوب میشود. برای اجرا، کافی است رکورد A مرتبط با دامنه را در DNS Zone موجود بهروزرسانی یا اصلاح کنید. با استفاده از این روش، تنظیمات و ف ایلهای DNS Zone در ارائهدهنده فعلی بدون تغییر باقی خواهند ماند. این شیوه برای کاربران تازهکار یا افرادی که قصد انتقال موقعیت DNS Zone را ندارند، مناسب و کاربردی است.
| Name | TTL | Type | Address |
|---|---|---|---|
| example.com | 14400 | A | server-ip |
اتصال از طریق DNS اختصاصی
با استفاده از ssh به سرور ابری متصل شوید و ابزار BIND را نصب کنید:
sudo apt install bind9 bind9utils bind9-doc
بعد از نصب BIND باید تنظیمات زیر را انجام دهیم:
با دستور زیر فایل named.conf.options را باز میکنیم:
sudo nano /etc/bind/named.conf.options
محتوای زیر را به فایل اضافه کنید:
options {
directory "/var/cache/bind";
recursion no;
allow-transfer { none; };
dnssec-validation auto;
listen-on { any; };
listen-on-v6 { any; };
};
با فشار دادن کلیدهای CTRL + S و سپس CTRL + X فایل را ذخیره کرده و خارج شوید.
در ادامه فایل Zone را اضافه میکنیم.
با دستور زیر فایل named.conf.local را باز میکنیم:
sudo nano /etc/bind/named.conf.local
محتوای زیر را به فایل اضافه کنید:
zone "example.com" {
type master;
file "/etc/bind/zones/db.example.com";
};
با فشار دادن کلیدهای CTRL + S و سپس CTRL + X فایل را ذخیره کرده و خارج شوید.
سپس دستورات زیر را برای ایجاد فایل Zone وارد میکنیم.
sudo mkdir /etc/bind/zones
sudo nano /etc/bind/zones/db.example.com
و سپس محتوای زیر را به فایل اضافه کنید:
$TTL 86400
@ IN SOA ns1.example.com. admin.example.com. (
2025010101 ; Serial
3600 ; Refresh
1800 ; Retry
1209600 ; Expire
86400 ) ; Negative Cache TTL
; Nameservers
@ IN NS ns1.example.com.
@ IN NS ns2.example.com.
; A records
@ IN A <your-server-public-IP>
www IN A <your-server-public-IP>
; NS record host
ns1 IN A <your-server-public-IP>
با فشار دادن کلیدهای CTRL + S و سپس CTRL + X فایل را ذخیره کرده و خارج شوید.
در نهایت برای اعمال تنظیماتی که انجام شد دستورات زیر را وارد کنید:
sudo named-checkconf
sudo named-checkzone example.com /etc/bind/zones/db.example.com
sudo systemctl restart bind9
sudo systemctl enable bind9
حال باید در پنل مدیریت دامنه مقدار کارگزار دامنه را به آدرسهای ns1.example.com و ns2.example.com تغییر دهیم.
| No | Name | IP |
|---|---|---|
| 1 | ns1.example.com | server-ip |
| 2 | ns2.example.com | server-ip |
اعمال تغییرات از سمت دامنه ممکن است بین ۱ تا ۲۴ ساعت طول بکشد.
اتصال از طریق CDN
برا ی اتصال دامنه به سرور ابری از طریق CDN میبایست به پنل مدیریت ارائه دهنده CDN مراجعه کنید. در این آموزش اتصال از
طریق Cloudflare را بررسی میکنیم.
ابتدا وارد پنل مدیریت DNS دامنه خود در Cloudflare شوید. سپس در قسمت Record روی دکمه Add record کلیک کنید و فرم را مانند مثال پر کنید:
Type=A
Name=example.com
IPv4=server-ip

دقت کنید که برای اتصال دامنه از این روش باید حتما از قبل دامنه خود را به Cloudflare متصل کرده باشید. برای انجام این کار میتوانید به مستندات رسمی Cloudflare مراجعه کنید.
میزبانی دامنه با استفاده از NGINX
زمانی که دامنه را به وسیله DNS به سرور متصل کردید لازم است تا به وسیله برنامه وبسرور درخواستهای ورودی به سرور را مدیریت کنید. در این قسمت طریقه تنظیم NGINX برای اینکار را به شما آموزش میدهیم.
ابتدا باید این ابزار را روی سرور با استفاده از دستور زیر نصب کنید:
sudo apt install nginx
سپس برای تنظیم پورت دستور زیر را وارد کنید (مقدار example.com را با آدرس دامنه خود جایگزین کنید):
sudo nano /etc/nginx/sites-available/example.com
پس از باز شدن ویرایشگر nano متن زیر را وارد کنید:
server {
listen 80;
server_name example.com www.example.com;
root /var/www/example;
index index.html index.htm;
location / {
try_files $uri $uri/ =404;
}
}
در این تنظیم پورت ۸۰ که پورت پیشفرض http است را به اجرای فایل index.html در مسیر /var/www/example منصل کردیم.
سپس با دستور زیر تنظیمات انجام شده را روی NGINX اعمال میکنیم:
sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/
در نهایت برای فعال شدن این تنظیمات با استفاده از دستور زیر باید NGINX را یکبار Reload کنیم:
sudo nginx -t
sudo systemctl reload nginx
حالا سرور شما آماده پردازش درخواستهای ارسالی به دامنه شماست.
تغییر سرویسدهندههای DNS
بهطور پیشفرض، سرورهای ابری چابکان از سرویس دهندههای DNS عمومی گوگل (8.8.8.8) استفاده میکنند. در صورت نیاز میتوانید این تنظیمات را تغییر دهید.
مراحل تغییر DNS
برای تغییر DNS بر اساس نوع توزیع سیستم عامل سرور از دستورالعملهای زیر استفاده کنید.
- Ubuntu
- Debian
- CentOS
- Rocky
- AlmaLinux
-
اتصال به سرور: ابتدا از طریق
SSHبه سرور ابری خود متصل شوید. -
پیدا کردن فایل پیکربندی Netplan: ابتدا فایلهای YAML موجود در دایرکتوری Netplan را لیست کنید:
ls /etc/netplan/خروجی نمونه:
50-cloud-init.yamlیا01-netcfg.yaml -
ویرایش فایل پیکربندی: فایل Netplan را با یک ویرایشگر متن مانند nano باز کنید:
sudo nano /etc/netplan/50-cloud-init.yaml -
اعمال تنظیمات DNS: در فایل بازشده، بخش
nameserversرا پیدا کنید یا اضافه کنید سپس آدرسهای IP سرویس دهندههای DNS مورد نظر خود را وارد نمایید./etc/netplan/50-cloud-init.yamlnetwork:version: 2renderer: networkdethernets:eth0:#other configs...#dnsnameservers:addresses:- 217.218.127.127- 217.218.155.155 -
ذخیره و خروج: تغییرات را ذخیره و از ویرایشگر خارج شوید. در
nanoابتدا کلیدهایCTRL + s(برای ذخیره) و سپسCTRL + x(برای خروج) را فشار دهید. -
اعمال تغییرات: تنظیمات Netplan را اعمال کنید تا DNS جدید فعال شود:
sudo netplan apply -
تأیید تغییرات: پس از اعمال تنظیمات، میتوانید با دستور زیر از اعمال صحیح DNS اطمینان حاصل کنید:
resolvectl statusیا
systemd-resolve --status
در Ubuntu Server (نسخههای 18.04 به بعد)، Netplan مدیریت شبکه را بر عهده دارد. تغییر مستقیم /etc/systemd/resolved.conf
تأثیری نخواهد داشت زیرا Netplan هنگام اجرای netplan apply این فایل را بازنویسی میکند. همیشه از روش Netplan
استفاده کنید.
-
اتصال به سرور: ابتدا از طریق
SSHبه سرور ابری خود متصل شوید. -
ویرایش فایل پیکربندی: فایل resolved.conf را با یک ویرایشگر متن مانند nano باز کنید:
sudo nano /etc/systemd/resolved.conf -
اعمال تنظیمات: در فایل بازشده، خطوط مربوط به DNS و FallbackDNS را پیدا کنید. با حذف علامت # از ابتدای این خطوط، آنها را از حالت توضیح خارج کرده (فعال کنید) و آدرسهای IP سرویس دهندههای DNS مورد نظر خود را وارد نمایید. مثال:
resolved.confDNS=217.218.127.127 217.218.155.155FallbackDNS=8.8.8.8 -
ذخیره و خروج: تغییرات را ذخیره و از ویرایشگر خارج شوید در
nanoابتدا کلیدهایCTRL + s(برای ذخیره) و سپسCTRL + x(برای خروج) را فشار دهید -
اعمال تغییرات: سرویس
systemd-resolvedرا مجدداً راهاندازی کنید تا تنظیمات جدید اعمال شوندsudo systemctl restart systemd-resolved -
تأیید تغییرات: پس از راهاندازی مجدد سرویس، میتوانید با دستور زیر از اعمال صحیح تنظیمات اطمینان حاصل کنید:
sudo systemctl status systemd-resolved
-
اتصال به سرور: ابتدا از طریق
SSHبه سرور ابری خود متصل شوید. -
شناسایی نام اتصال شبکه: ابتدا نام اتصال شبکه فعال خود را پیدا کنید:
nmcli connection showخروجی نمونه:
eth0یاens192یاSystem eth0 -
اعمال تنظیمات DNS از طریق nmcli: با استفاده از دستور زیر، DNS مورد نظر را برای اتصال شبکه تنظیم کنید:
sudo nmcli connection mod "eth0" ipv4.dns "217.218.127.127 217.218.155.155"sudo nmcli connection mod "eth0" ipv4.ignore-auto-dns yesنکته: عبارت
eth0را با نام اتصال شبکه خود که در مرحله قبل پیدا کردید جایگزین کنید . -
اعمال تغییرات: اتصال شبکه را مجدداً فعال کنید تا تنظیمات جدید اعمال شوند:
sudo nmcli connection down "eth0"sudo nmcli connection up "eth0" -
تأیید تغییرات: پس از اعمال تنظیمات، میتوانید با دستورات زیر از اعمال صحیح DNS اطمینان حاصل کنید:
cat /etc/resolv.confیا
nmcli device show | grep DNS
در CentOS و RHEL مدرن (نسخههای 7 به بالا)، NetworkManager مدیریت شبکه را بر عهده دارد. تغییر مستقیم
/etc/resolv.conf تأثیری نخواهد داشت زیرا NetworkManager هنگام راهاندازی مجدد یا اعمال تغییرات، این فایل را
بازنویسی میکند .
اگر به دلایل خاصی نیاز به ویرایش دستی /etc/resolv.conf دارید، ابتدا باید با افزودن dns=none به فایل
/etc/NetworkManager/NetworkManager.conf در بخش [main]، مدیریت DNS توسط NetworkManager را غیرفعال کنید .
-
اتصال به سرور: ابتدا از طریق
SSHبه سرور ابری خود متصل شوید. -
ش ناسایی نام اتصال شبکه: ابتدا نام اتصال شبکه فعال خود را پیدا کنید:
nmcli connection showخروجی نمونه:
eth0یاens192یاSystem eth0 -
اعمال تنظیمات DNS از طریق nmcli: با استفاده از دستور زیر، DNS مورد نظر را برای اتصال شبکه تنظیم کنید:
sudo nmcli connection mod "eth0" ipv4.dns "217.218.127.127 217.218.155.155"sudo nmcli connection mod "eth0" ipv4.ignore-auto-dns yesنکته: عبارت
eth0را با نام اتصال شبکه خود که در مرحله قبل پیدا کردید جایگزین کنید . -
اعمال تغییرات: اتصال شبکه را مجدداً فعال کنید تا تنظیمات جدید اعمال شوند:
sudo nmcli connection down "eth0"sudo nmcli connection up "eth0" -
تأیید تغییرات: پس از اعمال تنظیمات، میتوانید با دستورات زیر از اعمال صحیح DNS اطمینان حاصل کنید:
cat /etc/resolv.confیا
nmcli device show | grep DNS
در Rocky Linux (نسخههای 8 به بالا)، NetworkManager مدیریت شبکه را بر عهده دارد و روش رسمی و پایدار برای تغییر DNS استفاده از دستور nmcli است .
تغییر مستقیم /etc/resolv.conf تأثیری نخواهد داشت زیرا NetworkManager هنگام راهاندازی مجدد سرویس یا اعمال تغییرات، این فایل را بازنویسی میکند .
توجه داشته باشید که در Rocky Linux 10، مسیر فایلهای پیکربندی به /etc/NetworkManager/system-connections/ تغییر کرده و فایلهای ifcfg-* قدیمی دیگر پشتیبانی نمیشوند .
-
اتصال به سرور: ابتدا از طریق
SSHبه سرور ابری خود متصل شوید. -
شناسایی نام اتصال شبکه: ابتدا نام اتصال شبکه فعال خود را پیدا کنید:
nmcli connection showخروجی نمونه:
ens160یاens33یاeth0یاSystem eth0 -
اعمال تنظیمات DNS از طریق nmcli: با استفاده از دستور زیر، DNS مورد نظر را برای اتصال شبکه تنظیم کنید:
sudo nmcli connection mod "ens160" ipv4.dns "217.218.127.127 217.218.155.155"sudo nmcli connection mod "ens160" ipv4.ignore-auto-dns yesنکته: عبارت
ens160را با نام اتصال شبکه خود که در مرحله قبل پیدا کردید جایگزین کنید. گزینهignore-auto-dns yesاز بازنویسی تنظیمات توسط DHCP جلوگیری میکند. -
اعمال تغییرات: اتصال شبکه را مجدداً فعال کنید تا تنظیمات جدید اعمال شوند:
sudo nmcli connection down "ens160"sudo nmcli connection up "ens160" -
تأیید تغییرات: پس از اعمال تنظیمات، میتوانید با دستورات زیر از اعمال صحیح DNS اطمینان حاصل کنید:
cat /etc/resolv.confیا
nmcli device show | grep DNS
در AlmaLinux (نسخههای 8 و 9)، NetworkManager مدیریت شبکه را بر عهده دارد و روش رسمی و پایدار برای تغییر DNS استفاده
از دستور nmcli است.
تغییر مستقیم /etc/resolv.conf تأثیری نخواهد داشت زیرا NetworkManager هنگام راهاندازی مجدد سرویس یا اعمال تغییرات،
این فایل را بازنویسی میکند.
در صورتی که نیاز به استفاده از روش قدیمی network-scripts دارید، باید ابتدا NetworkManager را غیرفعال کرده و
network-scripts را نصب کنید، اما این روش توصیه نمیشود زیرا در نسخههای جدیدتر حذف خواهد شد .
در زمان قطع اینترنت و سرویسدهی در شبکه ملی اطلاعات و یا برای کاهش زمان انتظار در ارتباط با سرویسهای داخلی میتوانید
از
سرویس DNS رایگان زیرساخت استفاده کنید:
217.218.127.127
217.218.155.155
تغییر میرورهای نصب بستهها
برای تغییر سرورهای میرور بستههای لینوکسی، بر اساس نوع توزیع سیستم عامل سرور از دستورالعملهای زیر استفاده کنید.
- Ubuntu
- Debian
- CentOS
- Rocky
- AlmaLinux
برای تغییر میرورهای APT در Ubuntu میبایست با دستور زیر فایل sources.list را ویرایش کنید:
sudo nano /etc/apt/sources.list
ساختار این فایل به شکل زیر است:
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
deb http://archive.ubuntu.com/ubuntu jammy main restricted
deb http://archive.ubuntu.com/ubuntu jammy-updates main restricted
deb http://archive.ubuntu.com/ubuntu jammy universe
deb http://archive.ubuntu.com/ubuntu jammy-updates universe
deb http://archive.ubuntu.com/ubuntu jammy multiverse
deb http://archive.ubuntu.com/ubuntu jammy-updates multiverse
deb http://archive.ubuntu.com/ubuntu jammy-backports main restricted universe multiverse
deb http://security.ubuntu.com/ubuntu jammy-security main restricted
deb http://security.ubuntu.com/ubuntu jammy-security universe
deb http://security.ubuntu.com/ubuntu jammy-security multiverse
سپس تمامی آدرسها را با آدرس سرور جدید جایگزین کنید. اگر قبلا این کار را انجام نداده باشید آدرس پیشفرض را در فایل خواهید دید:
http://archive.ubuntu.com/ubuntu
که باید آنها را با آدرس سرور میرور مورد نظرتان جایگزین کنید. و در پایان با فشردن کلیدهای CTRL + s (برای ذخیره) و
CTRL + x برای خروج، از ویرایشگر متنی nano خارج شوید. سپس ایندکس بستههای APT را با دستور زیر بهروز کنید:
sudo apt update
برای تست درستی این عملیات دستور زیر را اجرا کنید و مطمئن شوید بستهها از سرور جدید دانلود میشوند:
sudo apt upgrade
میرور چابکان یک سرویس جامع برای دانلود سریع پکیجها از سرورهای داخلی است. با استفاده از این میرور، سرعت دانلود پکیجها تا ۱۰ برابر افزایش مییابد و در زمان اختلال اینترنت نیز دسترسی به پکیجهای ضروری حفظ میشود. برای استفاده از این میرور میتوانید آدرس دانلود بستهها را به این آدرس تغییر دهید:
https://mirror2.chabokan.net/ubuntu
برای تغییر میرورهای APT در Ubuntu میبایست با دستور زیر فایل sources.list را ویرایش کنید:
sudo nano /etc/apt/sources.list
ساختار این فایل به شکل زیر است:
# Debian 12 (Bookworm) official mirrors
deb http://deb.debian.org/debian bookworm main contrib non-free
deb http://deb.debian.org/debian bookworm-updates main contrib non-free
# Security updates
deb http://security.debian.org/debian-security bookworm-security main contrib non-free
# Backports (newer software)
deb http://deb.debian.org/debian bookworm-backports main contrib non-free
سپس تمامی آدرسها را با آدرس سرور جدید جایگزین کنید. اگر قبلا این کار را انجام نداده باشید آدرس پیشفرض را در فایل خواهید دید:
http://deb.debian.org/debian/
که باید آنها را با آدرس سرور میرور مورد نظرتان جایگزین کنید. و در پایان با فشردن کلیدهای CTRL + s (برای ذخیره) و
CTRL + x برای خروج، از ویرایشگر متنی nano خارج شوید. سپس ایندکس بستههای APT را با دستور زیر بهروز کنید:
sudo apt update
برای تست درستی این عملیات دستور زیر را اجرا کنید و مطمئن شوید بستهها از سرور جدید دانلود میشوند:
sudo apt upgrade
میرور چابکان یک سرویس جامع برای دانلود سریع پکیجها از سرورهای داخلی است. با استفاده از این میرور، سرعت دانلود پکیجها تا ۱۰ برابر افزایش مییابد و در زمان اختلال اینترنت نیز دسترسی به پکیجهای ضروری حفظ میشود. برای استفاده از این میرور میتوانید آدرس دانلود بستهها را به این آدرس تغییر دهید:
https://mirror2.chabokan.net/debian
برای تغییر میرور در CentOS میبایست با دستور زیر فایل CentOS-Base.repo را ویرایش کنید:
sudo nano /etc/yum.repos.d/CentOS-Base.repo
ساختار این فایل به شکل زیر است:
[baseos]
name=CentOS Stream $releasever - BaseOS
baseurl=http://mirror.centos.org/centos/9-stream/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
در این فایل آدرسهایی مانند مقدار زیر با کلید baseurl مشاهده میکنید.
baseurl=http://mirror.centos.org/
که باید آنها را با آدرس سرور میرور مورد نظرتان جایگزین کنید. و در پایان با فشردن کلیدهای CTRL + s (برای ذخیره) و
CTRL + x برای خروج، از ویرایشگر متنی nano خارج شوید. سپس ایندکس میرور را با دستور زیر بهروز کنید:
sudo dnf update
برای تست درستی این عملیات دستور زیر را اجرا کنید و مطمئن شوید بستهها از سرور جدید دانلود میشوند:
sudo dnf upgrade
برای تغییر میرور در Rocky میبایست با دستور زیر فایل Rocky-BaseOS.repo را ویرایش کنید:
sudo nano /etc/yum.repos.d/Rocky-BaseOS.repo
ساختار این فایل به شکل زیر است:
[baseos]
name=Rocky Linux $releasever - BaseOS
baseurl=http://mirrors.rockylinux.org/rocky/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
countme=1
metadata_expire=6h
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-Rocky-9
در این فایل آدرسهایی مانند مقدار زیر با کلید baseurl مشاهده میکنید.
baseurl=http://mirrors.rockylinux.org/
که باید آنها را با آدرس سرور میرور مورد نظرتان جایگزین کنید. و در پایان با فشردن کلیدهای CTRL + s (برای ذخیره) و
CTRL + x برای خروج، از ویرایشگر متنی nano خارج شوید. سپس ایندکس میرور را با دستور زیر بهروز کنید:
sudo dnf update
برای تست درستی این عملیات دستور زیر را اجرا کنید و مطمئن شوید بستهها از سرور جدید دانلود میشوند:
sudo dnf upgrade
برای تغییر میرور در AlmaLinux میبایست با دستور زیر فایل AlmaLinux-BaseOS.repo را ویرایش کنید:
sudo nano /etc/yum.repos.d/AlmaLinux-BaseOS.repo
ساختار این فایل به شکل زیر است:
[baseos]
name=AlmaLinux $releasever - BaseOS
baseurl=http://mirrors.almalinux.org/almalinux/$releasever/BaseOS/$basearch/os/
gpgcheck=1
enabled=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-AlmaLinux
در این فایل آدرسهایی مانند مقدار زیر با کلید baseurl مشاهده میکنید.
baseurl=http://mirrors.almalinux.org/
که باید آنها را با آدرس سرور میرور مورد نظرتان جایگزین کنید. و در پایان با فشردن کلیدهای CTRL + s (برای ذخیره) و
CTRL + x برای خروج، از ویرایشگر متنی nano خارج شوید. سپس ایندکس میرور را با دستور زیر بهروز کنید:
sudo dnf update
برای تست درستی این عملیات دستور زیر را اجرا کنید و مطمئن شوید بستهها از سرور جدید دانلود میشوند:
sudo dnf upgrade