CentOS 7에서 .NET Core Web App 실행 환경 구성
.NET Core 설치 방법에 대해서는 다음의 공식 문서에 잘 나와 있습니다.
Install .NET Core SDK on Linux CentOS / Oracle - x64
; https://dotnet.microsoft.com/download/linux-package-manager/centos/sdk-current
간단하게 3개 명령어만 실행하면 됩니다.
$ sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
$ sudo yum update
$ sudo yum install dotnet-sdk-2.2
그런데, .NET Core Web App을 실행하려니 다음과 같은 식의 오류가 발생합니다.
$ dotnet CoreCoreLin.dll
Failed to load '...', error: libunwind.so.8: cannot open shared object file: No such file or directory
Failed to bind to CoreCLR at '/home/tusr/corecorelin/libcoreclr.so'
왜? dotnet-sdk-2.2에 libunwind 의존성이 누락된 걸까요? ^^; 어쨌든 그냥 설치해 주면 됩니다.
[Centos 7]
$ sudo yum install libunwind
[Ubuntu]
$ sudo apt-get install -y libunwind-dev
이후, libunwind 오류는 사라지고 웹 앱이 정상적으로 잘 실행이 됩니다.
$ dotnet CoreCoreLin.dll
Hosting environment: Production
Content root path: /home/tusr/corecorelin
Now listening on: http://[::]:5000
Application started. Press Ctrl+C to shut down.
참고로, 위의 실행에서 5000번 포트를 사용하고 있는데 외부에서 접근하려면 CentOS 자체의 방화벽으로 막혀버립니다. 이럴 때는 해당 포트를 명시적으로 풀어줘야 합니다.
RHEL/CentOS 7에서 방화벽(firewalld) 설정하기
; https://www.lesstif.com/pages/viewpage.action?pageId=22053128
$ sudo firewall-cmd --permanent --zone=public --add-port=5000/tcp
$ sudo firewall-cmd --reload
아울러 윈도우 환경에서 IP가 아닌 서버 명을 이용해 접근하고 싶다면 samba 등의 설정을 추가해야 하고. ^^
우분투, Centos의 Netbios 호스트 이름 풀이 방법
; https://www.sysnet.pe.kr/2/0/11952
[이 글에 대해서 여러분들과 의견을 공유하고 싶습니다. 틀리거나 미흡한 부분 또는 의문 사항이 있으시면 언제든 댓글 남겨주십시오.]