Ubuntu

AWS Ubuntu 18.04 + Nginx + .net core 구축

지오준 2021. 3. 3.
반응형

작업순서

1.AWS Linux VM 생성

인스턴스작성:Ubuntu Server 18.04 LTS(HVM)、SSD Volume Type - ami-

2.Putty을 다운로드 및 설치와 연결 설정

다운로드주소:https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html

연결 설정 : 호스트 이름 (AWS호스트명) 연결 유형 (SSH), 포트설정(22), Private Key파일위치등록(인증파일)

3.Net .core 2.2와 Nginx설치

https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/runtime-2.2.3
$ wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb
$ sudo add-apt-repository universe
$ sudo apt-get install apt-transport-https
$ sudo apt-get update
$ sudo apt-get install aspnetcore-runtime-2.2
$ deb http://nginx.org/packages/ubuntu/ $ release nginx
$ deb-src http://nginx.org/packages/ubuntu/ $ release nginx
$ sudo apt-get update
$ sudo apt-get install nginx

4.Nginx설정

$ sudo nano /etc/nginx/sites-available/서비스명으로 서비스파일등록
server {
       listen 80;
       server_name(IP어드레스또는 도메인명);
       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 X-Forwarded-For $ proxy_add_x_forwarded_for;
            proxy_set_header Host $ host;
            proxy_cache_bypass $ http_upgrade;
            }
       }

$sudo nano /etc/nginx/conf.d/서비스명.conf으로 설정파일등록
server {
          listen 127.0.0.1;
          location / {
                      proxy_pass http://127.0.0.1:5001;
                      proxy_http_version 1.1;
                      proxy_set_header Upgrade $ http_upgrade;
                      proxy_set_header Connection keep-alive;
                      proxy_set_header Host $ http_host;
                      proxy_cache_bypass $ http_upgrade;
                      }
        }

$ ln -s /etc/nginx/ sites-available/서비스 이름 /etc/nginx/sites-enabled/서비스 이름 (서비스 활성화) 
$ sudo nginx -t (Nginx 서비스의 상태 확인)
$ sudo nginx -s reload (Nginx 서비스 다시 시작)
$ sudo chmod -R 777 /var/www (디렉토리 권한을 추가)
$ sudo cat /var/log/nginx/error.log (오류 로그)
$ sudo systemctl stop core-api.service (.net core 서비스를 중지)
$ sudo systemctl enable core-api.service (.net core 서비스 활성화)
$ sudo systemctl start core-api.service (.net core 서비스 시작)
$ sudo systemctl status core-api.service (.net core 서비스의 상태 확인)

5. .Net Core 프로젝트 등록

Publish시 linux-x64용으로 설정하여 업로드를 작성
$ sudo mkdir /var/www/서비스 이름으로 폴더를 만든 후 파일 업로드
$ dotnet /var/www/서비스 이름/서비스.dll 프로젝트가 성공적으로 실행되는지 확인
반응형

댓글