برنامه نویسی

نحوه استقرار یک وب سایت در صفحات GitHub و AWS EC2: یک راهنمای گام به گام

توسط این نوع پیکربندی | بدون فناوری ابری

مقدمه

میزبانی یک وب سایت یک مهارت مهم برای توسعه دهندگان ، متخصصان امنیت سایبری و مهندسان ابر است. در این راهنما ، شما را از طریق دو روش پیاده می کنم:

✅ صفحات GitHub (برای وب سایت های استاتیک)
✅ AWS EC2 (برای برنامه های وب مقیاس پذیر)

در پایان ، شما یک وب سایت کاملاً مستقر خواهید داشت که بهترین شیوه های امنیتی اعمال می شود.

گزینه 1: میزبانی یک وب سایت استاتیک در صفحات GitHub
اگر وب سایت استاتیک دارید (HTML ، CSS ، JavaScript) ، صفحات github است روش سریع و رایگان برای استقرار آن.

مرحله 1: یک مخزن GitHub ایجاد کنید

  1. ورود به لوب و یک مخزن جدید (my-website) ایجاد کنید.
  2. آن را به دستگاه محلی خود کلون کنید:
git clone https://github.com/your-username/my-website.git
cd my-website
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ایجاد و اضافه کردن HTML ، CSS و JavaScript پرونده ها

touch index.html style.css script.java
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

با استفاده از ویرایشگر نانو برای افزودن کد خود

nano (file name)

حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

سپس کد خود را برای پرونده ای که باز کرده اید وارد کنید

ctrl+o برای صرفه جویی سپس فشار دهید “وارد کردن
ctrl+x برای خروج

مرحله 2: صفحات GitHub را فعال کنید

  1. رفتن به تنظیمات → صفحات در مخزن شما
  2. زیر منبع، انتخاب کنید اصلی یا شعبهبشر
  3. تغییرات را ذخیره کنید و چند دقیقه صبر کنید.

نشان دادن UI با گزینه چگونگی فعال کردن صفحات GitHub

مرحله 3: به وب سایت خود دسترسی پیدا کنید

وب سایت شما به صورت زنده خواهد بود:

https://your-username.github.io/my-website/

برای دامنه های سفارشی، پیکربندی سوابق CNAME در تنظیمات DNS شما.

گزینه 2: میزبانی یک وب سایت در AWS EC2 (برای وب سایت های پویا و کنترل کامل)
برای برنامه های پویا (node.js ، python ، php و غیره) ، AWS EC2 کنترل کامل بر روی سرور را فراهم می کند.

مرحله 1: یک نمونه EC2 را راه اندازی کنید
وارد AWS شوید → حرکت به EC2 → کلیک کنید نمونهبشر

AWS EC2

انتخاب کردن آمازون لینوکس 2023 (یا اوبونتو 22.04 برای انعطاف پذیری).

گزینه AMI
نوع نمونه را انتخاب کنید:
t2.micro (ردیف رایگان) برای میزبانی اساسی
t3.small یا بالاتر برای تولید

گزینه های T2
پیکربندی گروه امنیتی:
• اجازه دهید HTTP (بندر 80) وت HTTPS (بندر 443)
• اجازه دهید SSH (بندر 22) (دسترسی به IP خود را برای امنیت محدود کنید)

گروه های امنیتی
کلیک کردن راه اندازی وت یک جفت کلید ایجاد کنید (بارگیری کنید .pem پرونده)

مرحله 2: به نمونه EC2 خود وصل شوید

  1. باز پایانه (لینوکس/مکوس) یا پودر (ویندوز).
  2. حرکت به پرونده PEM موقعیت مکانی و تنظیم مجوزهای صحیح:
chmod 400 my-key.pem
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اتصال به EC2:

ssh -i my-key.pem ec2-user@your-ec2-public-ip
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مرحله 3: یک سرور وب را نصب و پیکربندی کنید

برای آپاچی (برای سایت های PHP و استاتیک توصیه می شود)
به روزرسانی و نصب Apache:

sudo yum update -y
sudo yum install httpd -y
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

شروع و فعال کردن Apache:

sudo systemctl start httpd
sudo systemctl enable httpd
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

پرونده های وب سایت خود را در/var/www/html/بارگذاری کنید:

sudo mv * /var/www/html/
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

راه اندازی مجدد آپاچی:

sudo systemctl restart httpd
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

از طریق سایت خود دسترسی پیدا کنید http: // your-ec2-public-ip

برای چیز کوچک (توصیه می شود پروکسی و عملکرد معکوس)
نصب nginx:

sudo yum install nginx -y
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

NGINX را برای خدمت به سایت خود پیکربندی کنید:

sudo nano /etc/nginx/nginx.conf
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

ریشه را روی/var/www/html/تنظیم کنید

راه اندازی nginx:

sudo systemctl restart nginx
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

مرحله 4: وب سایت خود را با HTTPS (SSL/TLS) ایمن کنید

گزینه 1: SSL رایگان با Let's Encrypt
نصب کردن گواهی نامه:

sudo yum install epel-release -y
sudo yum install certbot python3-certbot-apache -y
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

یک گواهی SSL تولید کنید:

sudo certbot --apache
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

تمدید خودکار SSL:

sudo crontab -e
حالت تمام صفحه را وارد کنید

از حالت تمام صفحه خارج شوید

اضافه کنید: 0 0 1 * * Certbot تجدید -کویت

گزینه 2: از مدیر گواهی AWS (ACM) با بالانس بار استفاده کنید

  1. رفتن به مدیر گواهی AWS → درخواست گواهی عمومی
  2. آن را به یک تعادل بار برنامه (ALB) برای امنیت پیشرفته

مرحله 5: تنظیم دامنه سفارشی (اختیاری)

  1. یک دامنه بخرید مسیر 53 یا ارائه دهنده ای مانند Namecheap.
  2. ایجاد یک رکورد با اشاره به IP عمومی EC2 خود.
  3. در صورت استفاده خطوط ابری، DNS را با نقطه پایانی توزیع خود به روز کنید.

مقایسه: صفحات GitHub در مقابل AWS EC2

پایان

هر دو صفحات github وت AWS EC2 بسته به نیاز پروژه خود ، روشهای خوبی برای میزبانی وب سایت ها ارائه دهید.

صفحات github برای بهترین است سایت های استاتیک ، اوراق بهادار شخصی و استقرار سریعبشر
AWS EC2 ایده آل برای برنامه های وب پویا ، مقیاس پذیری و بار کار تولیدبشر

من به عنوان یک متخصص امنیت سایبری ، همیشه توصیه می کنم درخواست کنید بهترین روشهای امنیتی، از جمله:
دسترسی SSH را هاردن (ورود به سیستم ریشه را غیرفعال کنید ، از تأیید اعتبار مبتنی بر کلید استفاده کنید).
برای جلوگیری از حملات ، یک فایروال برنامه وب (AWS WAF) تنظیم کنیدبشر
از ابزارهای نظارت مانند AWS CloudWatch و GuardDuty استفاده کنید برای تشخیص تهدیدها.

چه چیزی بعدی؟

من تخصص دارم امنیت ابر ، devsecops و آزمایش نفوذبشر برای بینش بیشتر در مورد من دنبال کنید بهترین روشهای امنیتی AWS ، اتوماسیون ابری و هک اخلاقی!

🚀 برای استقرار پروژه های ابری خود به کمک نیاز دارید؟ یک نظر را رها کنید!

نوشته های مشابه

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

دکمه بازگشت به بالا