[ ] ASP.NET Core Linux |
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
sudo apt-get install dotnet-dev-1.0.4
dotnet new
, Visual Studio. .dotnet new mvc
ls -la
.dotnet restore
.dotnet build
dotnet run
, IIS, Nginx Apache -.
- HTTP Kestrel , :
, . Kestrel .
, - , . Kestrel .
, - SSL.
app.UseForwardedHeaders(new ForwardedHeadersOptions
{
ForwardedHeaders = ForwardedHeaders.XForwardedFor | ForwardedHeaders.XForwardedProto
});
sudo apt-get install nginx
sudo service nginx start
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;
}
}
sudo ln -s /etc/nginx/sites-available/aspnetcore.conf /etc/nginx/sites-enabled/aspnetcore.conf
sudo service nginx restart
, . :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