توسعه از راه دور به سادگی توسعه بر روی سرور از راه دور است. اتصال SSH از دستگاه محلی شما به سرور در ابر ایجاد می شود. SSH مخفف کلمه امن پوسته یا پوسته امن است – پروتکلی برای ارتباط ایمن بین دو کامپیوتر از طریق ترمینال.
ابر الاستیک محاسبه آمازون (EC2) منابع محاسباتی مقیاس پذیر را برای ساخت برنامه ها (سرورها) بدون نیاز به مسئولیت های مدیریت یک کامپیوتر فیزیکی فراهم می کند. در مورد ما ، ما از ویرایشگر Visual Studio Code استفاده می کنیم و آن را از طریق اتصال SSH به نمونه EC2 متصل می کنیم.
در این مقاله ، ما یک نمونه لایه AWS EC2 رایگان ایجاد می کنیم و آن را از طریق کد زیر به ویرایشگر کد VS متصل می کنیم. افزونه SSH از راه دوربه
پیش نیازها
برای پیگیری این آموزش ، به موارد زیر نیاز دارید:
- سیستم عامل لینوکس یا ویندوز 10 با WSL2 نصب شده است.
- یک سرویس گیرنده SSH روی دستگاه شما نصب شده است. این باید در اکثر دستگاه های لینوکس به صورت استاندارد ارائه شود. اگر نه ، لطفاً با این موضوع مشورت کنید لیست مشتریان پشتیبانی شدهبه
- یک حساب AWS فعال شده اگر یکی ندارید ، آموزش رسمی را دنبال کنیدبه
مزایا و معایب توسعه از راه دور
اما قبل از اینکه به چگونگی چگونگی ورود بپردازیم ، بیایید به چرایی آن نگاه کنیم. در اینجا برخی از مزایا و معایب توسعه در سرور وجود دارد.
اولا مزایا:
-
قابلیت حمل: می توانید از هر دستگاهی که دسترسی به اینترنت دارد کدگذاری کنید. کد شما به دستگاه محلی شما متصل نیست ، بنابراین می توانید با استفاده از هر دستگاهی که در حال حاضر در دسترس هستید ، از هر کجا کدگذاری کنید.
-
قدرت: به راحتی می توانید سرور راه دور خود را بر اساس حجم کاری خود افزایش دهید. بوت کردن رم 32 گیگابایتی بسیار ساده است AMD EPYC به عنوان مثال برای برخی از حجم کار علم داده.
-
Prod-Dev Synchrony: با داشتن یک محیط برنامه نویسی از راه دور مشابه محیط تولید خود ، می توانید هرگونه مشکل استقرار را به حداقل برسانید.
-
توسعه بدون درز: برنامه نویسی از راه دور به شما این امکان را می دهد تا محیط هایی را ایجاد کنید که به طور خاص متناسب با پروژه مورد نظر شما باشد. به عنوان مثال ، یک پروژه ممکن است به نسخه های مختلف MySQL ، C ++ و کتابخانه های سیستم مانند LibPng و ImageMagick نیاز داشته باشد. مدیریت نسخه های مختلف اینها ممکن است بسیار شلوغ باشد ، زیرا هر گونه اشکالی که به این دلیل ظاهر شود نمی تواند به راحتی تکرار شود.
-
قابلیت اطمینان: یک سرور ابری بسیار مطمئن تر از دستگاه محلی شما است. بسته به تنظیمات شما ، داده های سرور شما می تواند در سرورهای نقاط مختلف جهان تکرار شود.
حالا اجازه دهید معایب را بررسی کنیم.
دلیل اصلی اجتناب از کدنویسی در محیط دور ، الزامات اتصال به اینترنت برای دسترسی به سرور از راه دور است. با اتصال سریع به اینترنت ، تجربه توسعه از راه دور هنگام باز کردن ، ایجاد و تایپ کردن پرونده ها و تعامل با خط فرمان سرور راه دور بومی می شود. اما با یک شبکه 3G کند ، ممکن است اتصال به سرور قطع شود ، که ممکن است منجر به از دست دادن کار از چند ثانیه تا چند دقیقه شود.
با توجه به این موضوع ، بیایید به سراغ مقاله برویم – راه اندازی نمونه EC2 رایگان و اتصال آن به ویرایشگر محلی VS Code.
ایجاد و پیکربندی سرور AWS
بیایید مراحل ایجاد و پیکربندی نمونه ابر خود را طی کنیم.
وارد شوید کنسول مدیریت AWSبه
کلیک EC2 برای رفتن به داشبورد EC2 کلیک کنید بر روی Instance را راه اندازی کنید دکمه. به صفحه انتخاب AMI هدایت می شوید.
در صفحه انتخاب AMI ، عبارت را جستجو کنید اوبونتو و نسخه دلخواه خود را انتخاب کنید مطمئن شوید که معماری روی x86 تنظیم شده باشد. ما از معماری x86 استفاده خواهیم کرد زیرا دارای طیف وسیع تری از پشتیبانی نرم افزاری در مقایسه با ARM است.
انتخاب کنید t2.micro به عنوان نوع نمونه
بقیه مراحل را روی تنظیمات پیش فرض خود بگذارید تا به تنظیمات برسید ذخیره سازی را اضافه کنید گام. توصیه می کنم حداقل از 24 گیگابایت استفاده کنید. اگر در حال توسعه برای Node.js هستید ، کتابخانه های npm فضای کمی را اشغال می کنند و استفاده کمتر از آنها می تواند شما را در موقعیت دشواری قرار دهد ، بنابراین اشتباه در جانب احتیاط ایمن تر است.
هنگامی که شما به پیکربندی گروه امنیتی در مرحله بعد ، باید اتصالات SSH ورودی را مجاز کنید ، دو گزینه دارید:
-
همه آدرس های IP ورودی را فعال کنید: انتخاب این گزینه به هر آدرس IP اجازه می دهد تا به پورت SSH شما دسترسی پیدا کند ، اگر موقعیت شما به دنبال راحتی و امنیت است ، این را انتخاب کنید.
-
آیپی من: اگر امنیت از اهمیت بیشتری برخوردار است ، این گزینه را از منوی کشویی انتخاب کنید تا آدرس IP فقط به شما محدود شود.
یکبار کلیک کنید راه اندازی، از شما خواسته می شود که یک جفت کلید SSH را انتخاب کرده یا ایجاد کنید. انتخاب کنید یک جفت کلید جدید ایجاد کنیدبه جفت کلید را نام ببرید.
کلیک روی بارگیری جفت کلید دکمه فایل کلید خصوصی را برای شما دریافت می کند. این یک برنامه را بارگیری می کند pem
فایل ، که باید در یک فهرست مناسب ذخیره کنید و مسیر فهرست آن را یادداشت کنید.
بعد ، کلیک کنید راه اندازی موارد دکمه و نمونه EC2 شما روند ایجاد را آغاز می کند. به صفحه نمونه ها سر بزنید و باید نمونه تازه ایجاد شده خود را پیدا کنید.
در نهایت ، روی نمونه کلیک کنید تا به صفحه جزئیات آن بروید و آدرس DNS عمومی IPv4 آن را یادداشت کنید.
ما از این آدرس به عنوان “نام میزبان” نام می بریم.
نصب و پیکربندی افزونه Visual Studio Code
اکنون که ما با موفقیت یک نمونه EC2 ایجاد کردیم ، بیایید به آنچه در Visual Studio Code باید انجام دهیم نگاه کنیم. اگر Visual Studio Code را روی دستگاه خود نصب نکرده اید ، به دستگاه آنها سر بزنید صفحه بارگیری و بسته مناسب سیستم خود را بگیرید.
برنامه افزودنی SSH VS Code از راه دور را نصب کنید
پس از نصب VS Code ، کد را باز کنید افزونه در ویرایشگر (می توانید به صورت اختیاری از میانبر استفاده کنید Ctrl + تغییر مکان + ایکس) و “ssh remote” را در بازار افزونه ها جستجو کنید.
برنامه افزودنی Remote-SSH را پیدا کرده و نصب کنید و مطمئن شوید که برنامه افزودنی صحیح است (تألیف مایکروسافت با 4.3 میلیون نصب در زمان نوشتن).
پیکربندی افزونه SSH از راه دور
روی دکمه جدید در گوشه سمت چپ پایین ویرایشگر کلیک کنید. با این کار پالت فرمان باز می شود ، جایی که باید انتخاب کنید Remote-SSH: فایل پیکربندی را باز کنیدبه
یک فایل پیکربندی SSH ظاهر می شود (در صورتی که افزونه چندین فایل پیکربندی را تشخیص دهد ، پرونده ای را برای کاربر فعلی انتخاب کنید) ، که می توانید پیکربندی زیر را در آن وارد کنید:
Host VS Code-ssh-tutorial
HostName <HOSTNAME>
User ubuntu
IdentityFile <PATH TO IDENTITY FILE>
Host
می تواند هر نامی باشد این در کد VS ظاهر می شود.HostName
آدرس IP سرور است. ما هنگام ایجاد نمونه EC2 به این نکته توجه کردیم.User
نام کاربری پیش فرض اوبونتو است (ubuntu
در این مورد).IdentityFile
مسیر کامل به کلید خصوصی است (pem
فایل) که قبلاً بارگیری کرده ایم.
تست راه اندازی
کلیک کنید بر روی remote-ssh در گوشه سمت چپ پایین کلیک کرده و کلیک کنید اتصال به هاست از کشویی که ظاهر می شود.
کشویی دیگر ظاهر می شود. پیکربندی میزبان که در مرحله قبل ایجاد کرده اید را انتخاب کنید (VS Code-ssh-tutorial
) اگر همه چیز خوب است ، باید پنجره ویرایشگر جدیدی به شما نشان داده شود که از شما می خواهد دایرکتوری کاری خود را انتخاب کنید.
با این کار ، محیط توسعه راه دور خود را تنظیم کرده اید. حالا بیایید یک برنامه نمایشی ساده با استفاده از Node.js.
یک سرور نسخه ی نمایشی ایجاد کنید
ترمینال را با میانبر باز کنید: Ctrl + تغییر مکان + "، سپس Node.js را با دستورات زیر نصب کنید:
sudo apt update
sudo apt install nodejs
در مرحله بعد ، یک ایجاد کنید index.js
فایل را در یک دایرکتوری جدید قرار دهید test
:
mkdir test && cd test && touch index.js
مطالب زیر را در قسمت قرار دهید index.js
فایل:
const http = require('http');
const hostname = '127.0.0.1';
const port = 3000;
const server = http.createServer((req, res) => {
res.statusCode = 200;
res.setHeader('Content-Type', 'text/plain');
res.end('Hello World');
});
server.listen(port, hostname, () => {
console.log(`Server running at http://${hostname}:${port}/`);
});
این سرور آزمایشی را با دستور زیر در ترمینال سرور اجرا کنید:
node index.js
پس از اجرای این کد ، یک پنجره کوچک در گوشه سمت راست پایین ویرایشگر کد VS ظاهر می شود که در زیر نشان داده شده است.
شما دو گزینه دارید ، در مرور گر باز کنید و پیش نمایش در ویرایشگربه صرف نظر از اینکه کدام را انتخاب می کنید ، متوجه خواهید شد که پورت سرور به localhost شما ارسال شده است و می توانید با localhost: 3000به
عیب یابی
اگر تا به حال در اتصال به نمونه ایجاد شده خود مشکلی داشته اید ، در اینجا نکات عیب یابی آمده است:
- فایل پیکربندی را بررسی کنید و مطمئن شوید که مسیر فایل خصوصی کلید صحیح است.
- مطمئن شوید نام میزبان درست است.
- تنظیمات فایروال نمونه AWS خود را بررسی کنید. اگر آن را طوری تنظیم کرده اید که IP خاصی را مجاز کند ، مطمئن شوید که IP فعلی شما تغییر نکرده است.
- در صورت راه اندازی مجدد نمونه AWS ، آدرس IP آن تغییر می کند ، بنابراین به یاد داشته باشید که فایل پیکربندی را با آدرس IP جدید به روز کنید.
نتیجه
در این آموزش ، ما یک نمونه رایگان AWS t2.micro ایجاد کردیم. ما آن را برای اجازه اتصال SSH از دستگاه محلی خود تنظیم کرده و از طریق برنامه افزودنی SSH از راه دور به آن متصل شدیم. در نهایت ، ما توانستیم به سرور منتقل شده پورت که در محیط راه دور ایجاد کرده بودیم دسترسی پیدا کنیم.