نصب و اجرای ASP.Net 5 روی لینوکس

لینوکس

بعد از برسی نصب و اجرای ASP.NET روی Mac در این مقاله به سراغ لینوکس رفتیم و اجرای ASP.Net 5 روی لینوکس برسی خواهیم کرد امیدوارم مورد استفاده قرار بگیره همانند مقاله قبل همراه من باشید.

این مقاله دومین قسمت از توسعه و استقرار (develop and deploy) برنامه های تحت وب با ASP.Net 5 به صورت  cross-platform می باشد.

در حال حاضر امکان توسعه و استقرار برنامه های  ASP.Net 5 بر روی لینوکس وجود دارد. چیزی که تا به حال نشنیده اید، مایکروسافت سئو، Satya Nadella اعلام کرد: “مایکروسافت، لینوکس را دوست دارد”

لینوکس

دلیل آن بسیار ساده است: لینوکس برای Azure، سرویس ابری مایکروسافت بسیار حیاتی است. اما مهم تر از آن، رایج شدن cross-platformها مانند Core CLR گواهی است بر این که پلت فرم های انحصاری و محدود دوام زیادی نخواهند داشت، و توسعه دهندگان نه تنها نیاز دارند کدهایی بنویسند که روی پلت فرم های مختلف اجرا شوند، بلکه باید بتوانند برنامه های خود را به راحتی روی IDE هایی بنویسند که روی پلت فرم های مختلف اجرا شوند. برای اغلب ما، این IDE، Visual Studio Code می باشد.

در این مقاله نشان می دهیم که چگونه یک ماشین مجازی لینوکس را برای اجرای VS Code تنظیم نماییم، بنابراین می توانید هم develop و هم deploy برنامه های ASP.Net 5 را روی لینوکس داشته باشید. اگر از Mac با Parallels استفاده می کنید، ایجاد یک ماشین مجازی که با Linux Ubuntu اجرا می شود تنها با چند کلیک انجام می شود.

لینوکس

زمانی که Linux VM شما بالا آمد، با این دستورالعمل می توانید VS Code را نصب کنید. برای راحتی کار فولدری با عنوان VSCode زیر دایرکتوری Home ایجاد کرده و محتویات VSCode-linux-x64.zip را در آن extract می کنیم. سپس می توانیم لینکی ایجاد کنیم که از طریق ترمینال به VS Code دسترسی پیدا کنیم، بنابراین می توانیم code . را برای ویرایش فایل ها در VS Code  تایپ کنیم.

sudo ln -s /home/parallels/VSCode/Code /usr/local/bin/code

 

سپس درمرحله بعد لازم است که این دستورالعمل را برای نصب  ASP.Net 5 بر روی لینوکس دنبال کنید. مرحله اول نصب Mono می باشد:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF

echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list

sudo apt-get update

sudo apt-get install Mono-Complete

بعد از آن باید libuv که توسط Kestrel برای میزبانی برنامه های ASP.Net 5 در لینوکس استفاده می شود، نصب شود:

sudo apt-get install automake libtool curl

curl -sSL https://github.com/libuv/libuv/archive/v1.4.2.tar.gz | sudo tar zxfv - -C /usr/local/src

cd /usr/local/src/libuv-1.4.2

sudo sh autogen.sh

sudo ./configure

sudo make

sudo make install

sudo rm -rf /usr/local/src/libuv-1.4.2 && cd ~/

sudo ldconfig

و در نهایت، باید DotNet Version Manager که برای انتخاب و تنظیم ورژن های مختلف .Net در زمان اجرا برای میزبانی برنامه های ASP.Net 5 استفاده می شود، نصب گردد:

curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.s

source /home/parallels/.dnx/dnvm/dnvm.sh

dnvm

dnvm upgrade

با تایپ دستور dnvm، version manager  باز می شود که به شما امکان انتخاب و تنظیم ورژن های مختلف ASP.Net 5 را در زمان اجرا می دهد.

لینوکس

برای مشاهده ورژن های نصب شده از دستور dnvm list استفاده می کنیم.

لینوکس

سپس یک دایرکتوری ایجاد کرده و VS Code را برای ساختن اولین برنامه ASP.Net 5 اجرا می کنیم. طبق معمول با برنامه کنسول Hello World شروع می کنیم. سریع ترین راه استفاده از دوفایل ConsoleApp که به عنوان نمونه در ASPNet Samples Repo با نام های project.json و program.cs وجود دارند، می باشد.

فایل project.json به شکل زیر می باشد که لیستی از dependencyها را برای ما می آورد:

{
    "dependencies": {

    },
    "commands": {
        "ConsoleApp": "ConsoleApp"
    },
    "frameworks": {
        "dnx451": { },
        "dnxcore50": {
            "dependencies": {
                "System.Console": "4.0.0-beta-*"
            }
        }
    }
}

 

و در ادامه فایل program.cs می باشد که به سادگی پیغام “Hello World” را در کنسول چاپ می کند.

using System;

public class Program
{
    public static void Main()
    {
        Console.WriteLine("Hello World");
    }
}

ویرایش program.cs در Visual Studio Code به شکل زیر خواهد بود:

لینوکس

برای رفتن به برنامه، پنجره ترمینال را در دایرکتوری ConsoleApp باز کرده، dependencyها را بازیابی کرده و برنامه را اجرا می کنیم.

dnu restorednx . run

باید پیغام “Hello World!” را در پنجره ترمینال مشاهده نمایید.

لینوکس

برنامه های کنسول برای کارهایی که روی سرور اجرا می شوند، بسیار مناسب می باشند اما ASP.Net 5 اغلب برای اجرای برنامه های تحت وب استفاده می شود.  AspNet repo در GitHub یک  HelloWeb  sample دارد. که می توانید فایل های project.json و startup.cs را دانلود نمایید.

در زیر فایل project.json را برای برنامه های تحت مشاهده نمایید. به دستور “kestrel” برای شروع HTTP listener در Mac OS X و Linux توجه نمایید:

{
    "version": "1.0.0-*",
    "dependencies": {
        "Kestrel": "1.0.0-*",
        "Microsoft.AspNet.Diagnostics": "1.0.0-*",
    },
    "commands": {
        "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004"
    },
    "frameworks": {
        "dnx451": { },
        "dnxcore50": { }
    }
}

 

در اینجا فایل startup.cs را مشاهده می کنیم که با یک  endpoint تنظیمات را برای نمایش صفحه اصلی انجام می دهد.

using Microsoft.AspNet.Builder;

namespace HelloWeb
{
    public class Startup
    {
        public void Configure(IApplicationBuilder app)
        {
            app.UseWelcomePage();
        }
    }
}

 

برای شروع کار وب سرور، dependencyها را بازیابی کرده و سپس دستور kestrel را وارد می کنیم:

dnu restore
dnx . kestrel

 

VS Code همچنین به شما این امکان را می دهد که دستورات را از طریق command palette نیز اجرا نمایید، اما این امکان هنوز روی لینوکس کار نمی کند.

سپس یک مرورگر باز کرده و آدرس http://localhost:5004/ را وارد نمایید. پیغامی با عنوان اینکه وب سرور شروع به اجرا کرده، مشاهده خواهید کرد. برای پایان آن، روی Enter کلیک نمایید.

لینوکس

علاوه بر برنامه های کنسول و مثال Hello Web، شما می توانید برنامه های خود را براساس نمونه هایی که پیش از این در ویندوز مشاهده کرده اید، توسعه دهید. برای داشتن تجربه ای مشابه، باید Yeoman را نصب کنید که انواع مختلف برنامه های ASP.Net 5 مانند MVC 6 یا Web API(که به طور تکنیکی در حال حاضر بخشی از MVC 6 می باشد) را ارائه می دهد. برای نصب Yeoman به Node Package Manager نیاز داریم، که می توانید آن را با استفاده از دستور apt-get دانلود و نصب نمایید.

sudo apt-get install nodejs-legacy npm

 

زمانی که Node را نصب کردید، می توانید از آن برای نصب Yeoman، asp.net generator، grunt و bower استفاده کنید.

sudo npm install -g yo grunt-cli generator-aspnet bower

 

بعد از نصب Yeoman، می توانید به یک دایرکتوری در ترمینال بروید که می خواهید برنامه خود را در زیر دایرکتوری های آن بسازید. سپس اجرا نمایید:

yo aspnet

 

دستور بالا چندین انتخاب را در اختیار شما قرار می دهد، برای مثال، می توانید Web API Application را انتخاب نمایید که سپس برنامه Web API را با یک valuescontroller ارائه می کند. اگر dnu restore و  dnx . kestrel  را اجرا کنید همان طور که برای برنامه تحت وب انجام دادید، می توانید به آدرس زیر رفته و مقادیر JSON را بگیرید:

http://localhost:5001/api/values

و به این ترتیب می توانید برنامه های  ASP.Net  ۵ را در لینوکس ایجاد نمایید.

 

فاطمه زکایی

فاطمه زکایی هستم. فارغ التحصیل کارشناسی مهندسی نرم افزار، مدت سه سال هست که در زمینه توسعه اپلیکیشن های تحت وب و اندروید و همچنین تولید محتوای تخصصی برنامه نویسی تحت وب و اندروید در مجموعه mspsoft در خدمت شما هستم.

نوشته‌های مرتبط

دیدگاه‌ها

*
*

این سایت از اکیسمت برای کاهش هرزنامه استفاده می کند. بیاموزید که چگونه اطلاعات دیدگاه های شما پردازش می‌شوند.

ما یک پرسشنامه‌ی کوچولو داریم، که قول میدیم وقتتون رو خیلی نمی‌گیره، ولی کلی به ما کمک می‌کنه، چون هم assessment مونه ,و هم شما به ما در این زمینه کمک میکنید.بزن بریم