نصب AspNetCore بروی Linux
سه شنبه 13 تیر 1396راه اندازی AspNetCore بر روی سرور لینوکس
نصب AspNetCore بروی Linux
پس از نصب سیستم عامل Linux می بایست مراحل زیر انجام شود.
Ubuntu 14.04 / Linux Mint 17
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ trusty main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
Ubuntu 16.04
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
Ubuntu 16.10
sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ yakkety main" > /etc/apt/sources.list.d/dotnetdev.list'
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
sudo apt-get update
برای نصب AspNetCore باید کد زیر را اجرا نمایید
sudo apt-get install dotnet-dev-1.0.1
برای کار با dotnet می توانید از کدهای زیر استفاده نمایید
Dotnet new Initialize .NET projects.
Dotnet restore Restore dependencies specified in the .NET project.
Dotnet build Builds a .NET project.
Dotnet publish Publishes a .NET project for deployment (including the runtime).
Dotnet run Compiles and immediately executes a .NET project.
Dotnet test Runs unit tests using the test runner specified in the project.
Dotnet pack Creates a NuGet package.
Dotnet migrate Migrates a project.json based project to a msbuild based project .
Dotnet clean Clean build output(s).
Dotnet sln Modify solution (SLN) files.
برای ایجاد پروژه جدید می توانید از کدهای زیر استفاده نمایید
Templates Short Name Language Tags
----------------------------------------------------------------------
Console Application console [C#], F# Common/Console
Class library classlib [C#], F# Common/Library
Unit Test Project mstest [C#], F# Test/MSTest
xUnit Test Project xunit [C#], F# Test/xUnit
ASP.NET Core Empty web [C#] Web/Empty
ASP.NET Core Web App mvc [C#], F# Web/MVC
ASP.NET Core Web API webapi [C#] Web/WebAPI
Solution File sln Solution
بعنوان مثال:
dotnet new mvc --auth None --framework netcoreapp1.1
dotnet new mstest --framework netcoreapp1.1
dotnet new –help
پس از ایجاد پروژه باید مراحل زیر انجام دهید
در فایل Startup.cs برنامه ایجاد شده تغییرات زیر داده شود
Using Microsoft.AspNetCore.HttpOverrides
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
پس از ایجاد پروژه باید پروژه را پابلیش نمایید برای اینکار از کد زیر استفاده نمایید
Dotnet publish –output “path” –configuration release
نصب Nginx
sudo apt-get install nginx
sudo service nginx start
nano /etc/nginx/sites-available/default
محتوای فایل بازشده با متن زیر جایگزین کنید
server {
listen 80;
location / {
proxy_pass http://localhost:5000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}
sudo nginx –t
sudo nginx -s reload
sudo nano /etc/systemd/system/kestrel-hellomvc.service
[Unit]
Description=Example .NET Web API Application running on Ubuntu
[Service]
WorkingDirectory=/var/aspnetcore/hellomvc
ExecStart=/usr/bin/dotnet /var/aspnetcore/hellomvc/hellomvc.dll
Restart=always
RestartSec=10 # Restart service after 10 seconds if dotnet service crashes
SyslogIdentifier=dotnet-example
User=www-data
Environment=ASPNETCORE_ENVIRONMENT=Production
[Install]
WantedBy=multi-user.target
systemctl enable kestrel-hellomvc.service
- ASP.net MVC
- 1k بازدید
- 1 تشکر