-

   rss_rss_hh_new

 - e-mail

 

 -

 LiveInternet.ru:
: 17.03.2011
:
:
: 51

:


[ ] ASP.NET Core Linux

, 12 2017 . 12:49 +
, . , ASP.NET linux. Ubuntu 16.04


, dotnet-:

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

:

image

:

sudo apt-get update

, dotnet- apt-get:

sudo apt-get install dotnet-dev-1.0.4




dotnet new , Visual Studio. .

(07.2017), dotnet new :

image

- ASP.NET Core:

dotnet new mvc

:

image

, , ls -la.

image

, ! , dotnet restore.

image

:

dotnet build

image

:

dotnet run

image

, localhost:5000/. :

image

, web- .

Ctrl + C dotnet publish. ( ).

sudo chmod .

.

linux-, . nginx, systemd.

-.

, asp.net core kestrel - asp.net . -? Microsoft:

image
, IIS, Nginx Apache -.

, -

- HTTP Kestrel , :

image

, . Kestrel .

, - , . Kestrel .

, - SSL.

, - nginx.

.. - IIS, Configure Startap.cs.

app.UseForwardedHeaders(new ForwardedHeadersOptions
{
    ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});

ForwardedHeaders . Microsoft.AspNetCore.HttpOverrides, Http- X-Forwarded-For X-Forwarded-Proto, IP -. .

nginx , .

sudo apt-get install nginx

:

sudo service nginx start

, nginx http-.

/etc/nginx/sites-available/aspnetcore.conf. sites-avalible nginx-, - . :

server {
    listen 8888; #  ,   nginx   
    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;
    }
}

aspnetcore.conf sites-enabled, nginx- .

sudo ln -s /etc/nginx/sites-available/aspnetcore.conf /etc/nginx/sites-enabled/aspnetcore.conf

( , , ()() . .)

Nginx , localhost:8888. nginx sudo service nginx restart, . :

image

502- , - . -, dotnet run. :)

, dotnet run . , systemd.

/etc/systemd/system/ .service

kestrel-test:

sudo nano /etc/systemd/system/kestrel-test.service

:
[Unit]
Description=Example .NET Web API Application running on Ubuntu

[Service]
WorkingDirectory=/home/robounicorn/projects/asp.net/core/test-lesson/bin/Debug/netcoreapp1.1/publish # publish
ExecStart=/usr/bin/dotnet /home/robounicorn/projects/asp.net/core/test-lesson/bin/Debug/netcoreapp1.1/publish/test-lesson.dll # dll
Restart=always
RestartSec=10 # 10
SyslogIdentifier=dotnet-example
User=root # ,
Environment=ASPNETCORE_ENVIRONMENT=Production

[Install]
WantedBy=multi-user.target

:

sudo systemctl enable kestrel-test.service
sudo systemctl start kestrel-test.service

:

sudo systemctl status kestrel-test.service

, :

image

:

image

, . !
Original source: habrahabr.ru (comments, light).

https://habrahabr.ru/post/332920/

:  

: [1] []
 

:
: 

: ( )

:

  URL