Linux 서비스로서의 .NET API

2888 단어 netcorenetlinuxdotnet


Linux 서비스로서의 .NET API는 호스팅과 관련하여 여러 옵션 중 하나일 뿐입니다.

.NET Core에 대해 제가 좋아하는 한 가지는 모든 곳에서 실행된다는 것입니다. .NET API를 Linux 서비스로 실행하면 여러 조직에서 인프라를 재사용하여 일부 비용을 절감할 수 있습니다. .NET Core 이전에 .NET은 Windows와 거의 동의어였습니다. .NET을 위한 유일한 서버는 IIS였습니다.

이제 .NET 애플리케이션 호스팅과 관련하여 수많은 옵션이 제공됩니다.
Windows에서 계속 실행하시겠습니까? NSSM을 사용하여 Windows 서비스로 호스트하고 설치할 수 있습니다. IIS Express 대신 Kestrel을 원하십니까? 걱정 마세요. 그렇게 할 수 있습니다. 요즘에는 .NET API를 호스팅할 때 하늘이 한계입니다.
한 가지 해야 할 일은 서버에 .NET을 설치하는 것입니다. 다른 Linux 배포판에 .NET을 설치하는 방법을 읽을 수 있습니다here. (이 작업을 수행한 적이 없거나 숙련된 Linux 사용자가 아닌 경우).

필요한 것



– Putty 또는 Linux 서버에 연결하는 방법
– 서버에 대한 sudo 권한 또는 실행 권한

Linux 서비스로 API 실행



API가 양호한 상태versioned,이고 the right status codes가 있고 Kestrel을 선택한 경우 .service 파일을 만들어 Linux 서버에 배치하기만 하면 됩니다. 제 경우에는 API가 RedHat 배포판에서 호스팅되었습니다.
서비스 콘텐츠는 /etc/systemd/system 경로에 있는 .service 확장자를 가진 파일(myapi.service 파일이라고 함)입니다.

.service 파일에는 실행해야 하는 항목과 위치 및 몇 가지 플래그와 관련된 정보가 포함됩니다.

[Unit]
Description=Awesome API
[Service]
WorkingDirectory=/var/opt/myapps/myapi
ExecStart=/usr/bin/dotnet /var/opt/myapps/myapi/MyApi.dll
Restart=always
RestartSec=10
SyslogIdentifier=myapi
User=root
Environment=ASPNETCORE_ENVIRONMENT=Development
Environment=DOTNET_PRINT_TELEMETRY_MESSAGE=false
[Install]
WantedBy=multi-user.target


sudo 권한이 있다고 가정하면 systemctl start myapi.service를 실행하여 서비스를 시작해야 합니다.

유용한 리눅스 명령어


systemctl stop myapi.service 서비스를 중지합니다.
systemctl start myapi.service 서비스 시작
systemctl status myapi.service는 서비스 상태를 반환합니다. 서비스가 실행 중인지 확인하거나 디버깅 목적으로 사용할 때 유용합니다. 응답에는 구성한 내용에 따라 몇 가지 추가 정보가 포함되지만 거의 다음과 같이 표시됩니다.

Linux 서비스로서의 NET API를 실행하고 나면 HTTPS에서 실행해야 할 수 있습니다.
다른 기사에서 Https를 갖도록 NGINX 역방향 프록시를 구성하는 방법을 볼 수 있습니다.

게시물 .NET API as a Linux ServiceIrina Scurtu에 처음 나타났습니다.

좋은 웹페이지 즐겨찾기