اموزشگاه برتر استان البرز

پایتون و AWS: راه‌اندازی سرور مجازی و استقرار برنامه کوچک

برچسب ها


ICDL آموزش برنامه نویسی آموزش برنامه نویسی به کودکان آموزش برنامه نویسی در کرج آموزش برنامه نویسی در گلشهر کرج آموزش حسابداری آموزش حسابداری بازارکار در کرج آموزش حسابداری بازار کار در کرج آموزش حسابداری تکمیلی آموزش حسابداری در کرج آموزش حسابداری در گلشهر کرج آموزش حسابداری صنعتی آموزش حسابداری مقدماتی در کرج آموزش طلاسازی آموزش پایتون آموزش پایتون کرج آموزش کامپیوتر در کرج آموزش کامپیوتر در گلشهر کرج آموزشگاه حسابداری آموزشگاه حسابداری در کرج آموزشگاه حسابداری در گلشهر کرج آموزشگاه فنی و حرفه ای آموزشگاه فنی و حرفه ای البرز آموزشگاه فنی و حرفه ای در البرز آموزشگاه فنی و حرفه ای در کرج آموزشگاه فنی و حرفه ای در گلشهر کرج آموزشگاه فنی و حرفه ای گلشهر آموزشگاه فنی و حرفه ای گلشهر کرج آموزشگاه کامپیوتر در البرز آموزشگاه کامپیوتر در کرج آموزشگاه کامپیوتر در گلشهر کرج آموزشگاه کامپیوتر و حسابداری البرز آموزشگاه کامپیوتر گلشهر کرج آموزشگاه کامیپوتر کرج بهترین آموزشگاه حسابداری در کرج حسابداری حسابداری بازار کار حسابداری بازارکار در کرج حسابداری صنعتی حسابداری مالی دوره آموزش حسابداری طراحی سایت و سئو فروشندگی طلا مدرک فنی و حرفه ای پایتون

شبکه های اجتماعی


آموزشگاه برنامه نویسی در کرج

پایتون و AWS: راه‌اندازی سرور مجازی و استقرار برنامه کوچک ☁️🚀

نوشتن یک اپلیکیشن با پایتون (Python)، چه با فریم‌ورک قدرتمندی مانند Django یا یک میکروفریم‌ورک سبک مثل Flask، تنها نیمی از مسیر است. سوالی که به سرعت پیش می‌آید این است: “حالا چگونه این برنامه را در دسترس جهان قرار دهم؟” پاسخ در دنیای “رایانش ابری” (Cloud Computing) نهفته است و پادشاه بلامنازع این دنیا، AWS (Amazon Web Services) است. یادگیری نحوه راه‌اندازی یک سرور مجازی (Virtual Server) در AWS و استقرار (Deploy) یک برنامه ساده پایتون بر روی آن، یکی از حیاتی‌ترین مهارت‌ها برای تبدیل شدن از یک “برنامه‌نویس” به یک “توسعه‌دهنده فول-استک” یا “مهندس DevOps” است.


چرا AWS؟ (و EC2 چیست؟) 🤔

AWS پلتفرم خدمات ابری آمازون است که تقریباً هر سرویسی که تصور کنید (از دیتابیس گرفته تا هوش مصنوعی) را ارائه می‌دهد. اما ستون فقرات آن، سرویسی به نام EC2 (Elastic Compute Cloud) است.
EC2 به زبان ساده، به شما اجازه می‌دهد تا یک کامپیوتر (سرور مجازی) را در یکی از دیتاسنترهای عظیم آمازون در سراسر جهان اجاره کنید. شما کنترل کامل (دسترسی root) بر روی این کامپیوتر دارید.

  • مقیاس‌پذیری: می‌توانید با یک سرور بسیار کوچک و رایگان (در قالب Free Tier) شروع کنید و هر زمان که اپلیکیشن شما رشد کرد، آن را با چند کلیک به یک سرور غول‌پیکر ارتقا دهید.
  • انعطاف‌پذیری: شما انتخاب می‌کنید که سیستم‌عامل چه باشد (اغلب اوبونتو یا آمازون لینوکس)، چه نرم‌افزارهایی روی آن نصب شود و چگونه پیکربندی شود.
  • استاندارد صنعتی: دانستن AWS یک امتیاز بزرگ در رزومه هر توسعه‌دهنده پایتون است.

گام اول: راه‌اندازی سرور مجازی (EC2) 🖥️

راه‌اندازی سرور EC2 بسیار ساده است.

  1. ثبت‌نام در AWS: به aws.amazon.com بروید و یک حساب کاربری بسازید. (نیاز به کارت اعتباری دارد، اما نگران نباشید، ما از Free Tier یا “ردیف رایگان” استفاده خواهیم کرد).
  2. رفتن به داشبورد EC2: پس از ورود، سرویس EC2 را جستجو و انتخاب کنید.
  3. Launch Instance (راه‌اندازی نمونه):
    • AMI (Amazon Machine Image):** سیستم‌عامل خود را انتخاب کنید. `Ubuntu Server 22.04 LTS` یک انتخاب عالی و استاندارد است.
    • Instance Type (نوع نمونه):** `t2.micro` را انتخاب کنید. این گزینه شامل ردیف رایگان (Free Tier) می‌شود.
    • Key Pair (جفت کلید):** این “رمز عبور” شما برای سرور است. یک Key Pair جدید بسازید، به آن نامی (مثلاً `my-aws-key`) بدهید و فایل `.pem` را دانلود کنید. این فایل را در جایی امن نگه دارید! اگر آن را گم کنید، دیگر نمی‌توانید به سرور خود وصل شوید.

مهم‌ترین گام: تنظیم Security Group (فایروال)

در همان صفحه راه‌اندازی، بخشی به نام “Security Groups” وجود دارد. این فایروال مجازی سرور شماست. شما باید پورت‌های لازم را باز کنید:

  • Type: `SSH` | Port: `22` | Source: `My IP` (این به شما اجازه می‌دهد *فقط* از IP اینترنت فعلی خودتان به سرور SSH بزنید. این امن‌تر است).
  • Type: `HTTP` | Port: `80` | Source: `Anywhere` (این به همه اجازه می‌دهد وب‌سایت شما را ببینند).
  • Type: `HTTPS` | Port: `443` | Source: `Anywhere` (برای آینده که SSL را فعال کنید).

پس از این تنظیمات، دکمه “Launch Instance” را بزنید.


گام دوم: اتصال به سرور و آماده‌سازی محیط 🛠️

پس از چند دقیقه، سرور شما “Running” می‌شود. آدرس Public DNS (یا IP) آن را از داشبورد EC2 کپی کنید. حالا ترمینال (در لینوکس/مک) یا (CMD/PowerShell/WSL در ویندوز) را باز کنید.

# 1. (فقط در مک/لینوکس) دسترسی فایل کلید را محدود کنید
chmod 400 /path/to/my-aws-key.pem

# 2. اتصال با SSH
# آدرس DNS عمومی خود را جایگزین کنید
ssh -i /path/to/my-aws-key.pem ubuntu@YOUR_PUBLIC_DNS_ADDRESS

# 3. پس از اتصال به سرور، آن را به‌روزرسانی کنید
sudo apt update
sudo apt upgrade -y

# 4. پایتون، Pip و Venv (محیط مجازی) را نصب کنید
sudo apt install python3-pip python3-venv -y

# 5. وب سرور Nginx را نصب کنید (به عنوان Reverse Proxy عمل خواهد کرد)
sudo apt install nginx -y
    

گام سوم: استقرار یک برنامه Flask ساده (روش اصولی) 🚀

ما برنامه پایتون را مستقیماً روی پورت ۸۰ اجرا نمی‌کنیم (این کار ناامن و غیراصولی است). ما از Gunicorn به عنوان سرور برنامه استفاده می‌کنیم (که روی پورت ۸۰۰۰ اجرا می‌شود) و از Nginx به عنوان “Reverse Proxy” استفاده می‌کنیم تا ترافیک ورودی پورت ۸۰ را به پورت ۸۰۰۰ هدایت کند.

۱. ساخت برنامه Flask:

# در سرور خود، یک پوشه بسازید
mkdir myapp
cd myapp

# محیط مجازی بسازید و فعال کنید
python3 -m venv venv
source venv/bin/activate

# Flask و Gunicorn را نصب کنید
pip install flask gunicorn

# فایل برنامه پایتون را بسازید
nano app.py
        

محتویات فایل `app.py` (در ادیتور nano پیست کنید و `Ctrl+X` سپس `Y` را بزنید):

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello():
    # یک متن ساده که نشان دهد برنامه از سرور AWS اجرا می‌شود
    return "سلام دنیا! اپلیکیشن پایتون من روی AWS اجرا شد!"

# (توجه: دیگر `app.run` در اینجا وجود ندارد، Gunicorn این کار را می‌کند)
        

۲. اجرای برنامه با Gunicorn:

# در همان پوشه myapp و با venv فعال
# برنامه app (فایل app.py) را با 3 کارگر (worker) روی پورت 8000 اجرا کن
gunicorn --workers 3 --bind 0.0.0.0:8000 app:app
        

(این دستور را در پس‌زمینه اجرا کنید، مثلاً با `nohup … &` یا `systemd` برای حالت دائمی).

۳. پیکربندی Nginx (Reverse Proxy):

حالا به Nginx می‌گوییم ترافیک پورت ۸۰ را به برنامه ما در پورت ۸۰۰۰ بفرستد.

# فایل کانفیگ پیش‌فرض را ویرایش کنید
sudo nano /etc/nginx/sites-available/default
        

محتویات `location / { … }` را پیدا کنید و آن را به شکل زیر تغییر دهید:

...
location / {
    proxy_pass http://127.0.0.1:8000; # به Gunicorn پاس بده
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
...
        

کانفیگ را ذخیره کرده و Nginx را ری‌استارت کنید:

sudo systemctl restart nginx
        

تبریک می‌گوییم! اکنون اگر آدرس IP عمومی یا DNS سرور EC2 خود را در مرورگر وارد کنید، باید پیام “سلام دنیا! اپلیکیشن پایتون من روی AWS اجرا شد!” را ببینید.


جمع‌بندی ✅

ترکیب پایتون و AWS یک مهارت فوق‌العاده قدرتمند در بازار کار امروز است. راه‌اندازی یک سرور EC2 و استقرار یک برنامه ساده، اولین قدم برای ورود به دنیای DevOps (توسعه و عملیات) و رایانش ابری است. اگرچه در ابتدا مفاهیمی مانند Security Groups و Nginx ممکن است کمی پیچیده به نظر برسند، اما تسلط بر آن‌ها، ارزش شما را به عنوان یک توسعه‌دهنده به شدت افزایش می‌دهد. این مهارت‌ها در دوره‌های پیشرفته آموزش پایتون در آموزشگاه البرز به صورت پروژه‌محور تدریس می‌شوند.

برنامه‌های پایتون خود را جهانی کنید! 🌍

نوشتن کد پایتون عالی است، اما استقرار آن بر روی یک سرور واقعی و در دسترس قرار دادن آن برای جهان، مهارتی است که شما را متمایز می‌کند.

  • ✅ آموزش پایتون و فریم‌ورک‌های وب (Flask/Django)
  • ✅ درک مفاهیم سرور، لینوکس و Nginx
  • ✅ پروژه‌های عملی استقرار اپلیکیشن در محیط ابری

ثبت‌نام در دوره پایتون پیشرفته و DevOps
fa_IR