وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

روش راه اندازی هاست مجازی آپاچی روی نمونه اوبونتو EC2 با استفاده از Terraform

0 2
زمان لازم برای مطالعه: 4 دقیقه


“به منظور. واسه اینکه. برای اینکه host چندین وب سایت، مدیران معمولا میزبانی مجازی را پیکربندی می کنند روی یک دستگاه در میزبانی مجازی، می‌توانیم از میزبانی مبتنی بر IP یا میزبانی مبتنی بر نام استفاده کنیم. در میزبانی مبتنی بر IP، ما آدرس های IP مجزا برای هر وب سایت داریم. در مورد میزبانی مبتنی بر نام، ما چندین نام در حال اجرا داریم روی هر آدرس IP.”

چه چیزی را پوشش خواهیم داد؟

در این راهنما، خواهیم دید که چگونه می توانیم هاست مجازی را پیکربندی کنیم روی یک نمونه آمازون EC2 اوبونتو 22.04. در این آزمایشگاه از هاست مجازی مبتنی بر نام استفاده خواهیم کرد. ما از Terraform برای استقرار زیرساخت مورد نظر استفاده خواهیم کرد.

مروری بر آزمایشگاه

در این آزمایشگاه دو هاست مجازی ایجاد خواهیم کرد. domain1 و domain2. ما یک وب سرور آپاچی نصب خواهیم کرد روی ماشین اوبونتو ما هر مجازی host دارای یک فایل index.html متفاوت با محتوای: «این مجازی است host 1.” برای domain1 و «این مجازی است host 2.” برای دامنه 2.

به جای ثبت نام دامنه برای هر کدام host، ما در حال استفاده از localhost آدرس IP برای ترسیم نام دامنه. این را می توان با تغییر فایل “hosts” انجام داد. برای ساده سازی استقرار این زیرساخت، پیکربندی کلی را به چندین فایل تقسیم کرده ایم. به این ترتیب، ما خود را از دست و پا چلفتی کد نجات خواهیم داد. خلاصه فایل های استفاده شده در اینجا:

  1. userdata.sh: حاوی اسکریپت مورد نیاز برای نصب و پیکربندی وب سرور آپاچی است روی نمونه اوبونتو
  2. secgrp.tf: یک گروه امنیتی برای استفاده با نمونه ایجاد می کند. این گروه امنیتی به SSH و HTTP اجازه ورود ترافیک به نمونه را می دهد.
  3. domain_2.conf و domain_1.conf: حاوی مجازی است host پیکربندی
  4. main.tf: نقطه ورودی اصلی/اصلی برای همه فایل‌های tf.

روش راه اندازی هاست مجازی آپاچی روی نمونه اوبونتو EC2 با استفاده از Terraformروش راه اندازی هاست مجازی آپاچی روی نمونه اوبونتو EC2 با استفاده از Terraform

پیکربندی Setup

مرحله 1. اجازه دهید ابتدا یک دایرکتوری کاری ایجاد کنیم که همه فایل‌های .tf ما را نگه می‌دارد:

$ mkdir نسخه ی نمایشی

مرحله 2. فایل userdata.sh را ایجاد کنید:

$ نانو userdata.sh

حالا خطوط زیر را داخل آن بچسبانید:

#!/صندوقچه/bash

پیشنهاد می‌کنیم بخوانید:  Ubuntu Allow Port Through Firewall

سودو آپدیت apt-get

سودو آپدیت apt-get -y

سودو apt-get نصب کنید آپاچی 2 -y

سودو systemctl apache2 را مجددا راه اندازی کنید

سودو ش “echo 127.0.0.1 www.domain1.com >> /etc/hosts”

سودو ش “echo 127.0.0.1 www.domain2.com >> /etc/hosts”

سودو mkdir /var/www/domain_1/public_html

سودو mkdir /var/www/domain_2/public_html

سودو چاشنی USER $:USER $ /var/www/domain_1/public_html

سودو چاشنی USER $:USER $ /var/www/domain_2/public_html

سودو chmod 755 /var/www

سودو اکو “این هست Virtual Host 1> /var/www/domain_1/public_html/index.html

سودو اکو “این هست Virtual Host 2> /var/www/domain_2/public_html/index.html

سودو cp /خانه/اوبونتو/domain_1.conf /و غیره/آپاچی 2/سایت های موجود/domain_1.conf

سودو cp /خانه/اوبونتو/domain_2.conf /و غیره/آپاچی 2/سایت های موجود/domain_2.conf

سودو a2ensite domain_1.conf

سودو a2ensite domain_2.conf

سودو a2dissite 000-default.conf

سودو systemctl apache2 را مجددا راه اندازی کنید

در اسکریپت بالا یک وب سرور آپاچی نصب کردیم و آن را اصلاح کردیم hostفایل برای نقشه برداری از localhost آدرس به نام دامنه دو میزبان مجازی که می خواهیم پیکربندی کنیم. همچنین، ما وب سرور را برای وب سایت های جدید پیکربندی کرده ایم و پیش فرض را غیرفعال کرده ایم.

مرحله 3. فایل secgrp.tf را ایجاد کنید تا به ترافیک ورودی SSH و HTTP از هر نقطه و ترافیک خروجی به هر نقطه اجازه دهد.

$ نانو secgrp.tf

خطوط زیر را داخل آن بچسبانید:

منبع “aws_security_group” “demo-sg” {

نام = “sec-grpg”

شرح = “اجازه دادن به ترافیک HTTP و SSH از طریق Terraform”

ورود {

from_port = 80

to_port = 80

پروتکل = “tcp”

cidr_blocks = [“0.0.0.0/0”]

}

ورود {

from_port = 22

to_port = 22

پروتکل = “tcp”

cidr_blocks = [“0.0.0.0/0”]

}

خروج {

from_port = 0

to_port = 0

پروتکل = “-1”

cidr_blocks = [“0.0.0.0/0”]

}
}

مرحله 4. برای مجازی host پیکربندی، دو فایل ایجاد کنید: domain_1.conf و domain_2.conf. به محل ریشه سند در هر فایل توجه کنید.

I. $ nano domain_1.conf

<میزبان مجازی *:80>

ادمین سرور ادمین@domain1.com
Servername domain1
ServerAlias ​​www.domain1.com
DocumentRoot /var/www/domain_1/public_html

ErrorLog ${APACHE_LOG_DIR}/error.log

میزبان مجازی>

پیشنهاد می‌کنیم بخوانید:  روش نصب کرومیوم روی اوبونتو 22.04

II. $ nano domain_2.conf

<میزبان مجازی *:80>

ادمین سرور ادمین@domain2.com
Servername domain2
ServerAlias ​​www.domain2.com
DocumentRoot /var/www/domain_2/public_html

ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log ترکیب شده است

میزبان مجازی>

مرحله 5. در نهایت، main.tf را برای تکمیل اعلان زیرساخت ایجاد کنید:

$ نانو main.tf

ارائه دهنده “اوس” {

منطقه =“us-east-1”
}

منبع “aws_instance” “وب سرور” {

آمی =“ami-09d56f8956ab235b3”

نمونه_نوع = “t2.micro”

نام_کلید = “Name-of-your-Ec2-Key-Pair”

vpc_security_group_ids = [aws_security_group.demo-sg.id]

associate_public_ip_address = درست است، واقعی

تامین کننده “فایل” {

منبع = “domain_1.conf”

مقصد = “/home/ubuntu/domain_1.conf”

ارتباط {

نوع = “ssh”

کاربر = “اوبونتو”

کلید_خصوصی = ${file(“/Path/to//EC2-keyPair.pem”)}

host = ${self.public_dns}

}

}

تامین کننده “فایل” {

منبع = “domain_2.conf”

مقصد = “/home/ubuntu/domain_2.conf”

ارتباط {

نوع = “ssh”

کاربر = “اوبونتو”

کلید_خصوصی = ${file(“/Path/to//EC2-keyPair.pem”)}

host = ${self.public_dns}

}

}

user_data = ${file(“userdata.sh”)}

برچسب ها = {

نام = “میزبان مجازی”

}
}

خروجی “آدرس آی پی” {

ارزش = ${aws_instance.webserver.public_ip}
}

در فایل .tf بالا، ما از ارائه دهنده فایل برای کپی کردن ” استفاده کرده ایم.domain.conf” فایل از سیستم محلی ما به نمونه EC2. این “domain.conf” به عنوان یک فایل الگو برای مجازی سازی دامنه خاص استفاده خواهد شد host فایل ها، یعنی “domain_1.conf” و “domain_2.conf”.

مرحله 6. همه فایل های پیکربندی ما اکنون آماده هستند. اکنون زمان آن رسیده است که این پیکربندی را به طور واقعی اجرا کنیم. دایرکتوری پروژه را با استفاده از:

$ زمینی init

در نهایت با اجرای دستور زیر پروژه را بسازید:

$ terraform اعمال شود

روش راه اندازی هاست مجازی آپاچی روی نمونه اوبونتو EC2 با استفاده از Terraformروش راه اندازی هاست مجازی آپاچی روی نمونه اوبونتو EC2 با استفاده از Terraform

“بله” را وارد کنید روی را terminal وقتی پرسیده شد از نمونه EC2 خود، از دستور “curl” استفاده کنید تا ببینید هر آدرس دامنه چه چیزی را نشان می دهد:

روش راه اندازی هاست مجازی آپاچی روی نمونه اوبونتو EC2 با استفاده از Terraformروش راه اندازی هاست مجازی آپاچی روی نمونه اوبونتو EC2 با استفاده از Terraform

نتیجه

میزبانی مجازی یک تکنیک بسیار کارآمد برای مدیریت چندین وب سایت از یک سرور واحد است. در این آزمایشگاه، ما دیدیم که چگونه Terraform می تواند برای استقرار یک دو ساده استفاده شود.host زیر ساخت. سعی کنید با پیاده سازی ماژول های Terraform این پیکربندی را مقیاس پذیرتر کنید.

برای نگارش بخشهایی از این متن ممکن است از ترجمه ماشینی یا هوش مصنوعی GPT استفاده شده باشد
لطفا در صورت وجود مشکل در متن یا مفهوم نبودن توضیحات، از طریق دکمه گزارش نوشتار یا درج نظر روی این مطلب ما را از جزییات مشکل مشاهده شده مطلع کنید تا به آن رسیدگی کنیم

زمان انتشار: 1402-12-30 05:53:04

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید