이 기사는 주로 Linux 프로덕션 환경에 대한 ASP.NET Core 프로그램 릴리스를 자세히 소개합니다. 관심 있는 친구는 이를 참조할 수 있습니다.
이 기사에서는 Ubuntu 14.04 서버에 ASP.NET Core 애플리케이션을 배포하는 방법을 소개합니다. 요청을 Kestrel 서버로 전달하는 역방향 프록시 서버 뒤에 ASP.NET Core 애플리케이션을 배치하겠습니다. 이 외에도 웹 애플리케이션이 데몬으로 시작되는지 확인합니다. 고가용성을 보장하려면 프로그램 충돌 시 프로그램을 복구하는 데 도움이 되는 프로세스 관리 도구를 구성해야 합니다.
장:
준비
지원서 복사
역방향 프록시 서버 구성
애플리케이션 모니터링
애플리케이션 실행
관찰 로그
애플리케이션 보안 유지
준비
1. Ubuntu 14.04 서버에 액세스할 수 있는 sudo 권한이 있는 표준 계정
2.
애플리케이션 복사
dotnet 게시 실행
ASP.NET Core 애플리케이션을 자체 포함 디렉터리( 게시 디렉터리에 있으면 이 디렉터리의 프로그램이 서버에 업로드되어 실행됩니다. 독립형(Self-Contained) 프로그램이란 무엇입니까? 내 기사:
.NET Core 애플리케이션 유형(휴대용 앱 및 독립형 앱)을 참조하세요. 작동하기 전에 게시 디렉터리의 모든 프로그램을 FTP 도구(WinSCP 등)를 통해 서버가 지정한 디렉터리에 업로드합니다. 다음으로 프로그램을 실행하는 방법에 대한 자세한 내용은 .NET Core 1.0을 사용하여 자체 포함 콘솔 애플리케이션 만들기 문서를 참조하세요.
역방향 프록시 서버 구성동적 웹 애플리케이션의 경우 역방향 프록시는 매우 일반적인 설정입니다. 역방향 프록시는 현재 요청을 종료하고 해당 요청을 백엔드 ASP.NET Core 애플리케이션으로 전달합니다.
역방향 프록시 서버를 사용하는 이유웹 서버인 Kestrel은 동적 콘텐츠를 처리하는 데는 매우 능숙하지만 웹 서버만큼 성숙하지는 않습니다. 또한 이러한 서버에는 IIS, Apache 또는 Nginx가 포함됩니다. 역방향 프록시 서버는 정적 콘텐츠 처리, 캐싱, 압축 및 SSL을 포함하여 HTTP 서버에서 일부 작업을 오프로드할 수 있습니다. 역방향 프록시 서버는 전용 서버 또는 HTTP 서버와 동일한 클러스터에 배포될 수 있습니다. 이 예에서는 Nginx를 역방향 프록시 서버로 사용하고 이를 HTTP 서버와 동일한 시스템에 배포합니다.
프록시 서버 설치
sudo apt-get install nginx
Nginx 설치
sudo 서비스 nginx 시작
Nginx 시작
Nginx 구성파일 편집: /etc/nginx/sites -사용 가능/기본값은 다음과 같습니다.
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
웹 애플리케이션 모니터링
Nginx는 요청을 Kestrel 서버로 전달합니다. 그러나 Kestrel은 Windows의 IIS와 다르므로 Kestrel 프로세스를 관리하지 않습니다
, 이 기사에서는 감독자를 사용하여 애플리케이션을 시작하고 시스템이 시작되거나 프로세스가 중단될 때 스스로 복구합니다. 감독자 설치:
sudo apt-get install 감독자
/etc/supervisor/ conf.d/hellomvc.conf
(새 파일)[program:hellomvc] command=/usr/bin/dotnet /var/aspnetcore/HelloMVC/HelloMVC.dll directory=/var/aspnetcore/HelloMVC/ autostart=true autorestart=true stderr_logfile=/var/log/hellomvc.err.log stdout_logfile=/var/log/hellomvc.out.log environment=ASPNETCOREENVIRONMENT=Production user=www-data stopsignal=INT
sudo service supervisor stop sudo service supervisor start
관찰 로그
supervisord 로그
sudo tail -f /var/log/supervisor/supervisord.log
tail -f /var/log/hellomvc.out.log
원본 번역: Linux 프로덕션 환경에 게시
저자: Sourabh Shirhatti
위 내용은 ASP.NET Core 프로그램을 Linux 프로덕션 환경에 게시하는 방법에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!