[친 측] 7 단계 학회 ASP. NET Core 2.0 우 분투 리 눅 스 서버 에 어떻게 발표 / 배치 하고 Nginx 를 설정 하여 도 메 인 네 임 접근 을 실현 합 니까?

5751 단어
머리말
ASP. NET Core 2.0 은 어떻게 Ubuntu 서버 에 발표 합 니까?또 어떻게 서버 에 ASP. NET Core 사 이 트 를 사용 하여 지정 한 도 메 인 이름 에 연결 하여 외부 네트워크 사용자 가 방문 할 수 있 도록 설정 합 니까?
순서
STEP 1: 준비 작업
  • Liunx 서버: 필 자 는 [이 삿 짐 꾼] 의 VPS 서버 (CDN 가속, 알 리 페 이 지원, 다 중 기관실 선택) - 저 배 판
  • 을 사 용 했 습 니 다.
  • 리 눅 스 단말기 관리 도구: 필 자 는 Xshell 을 추천 합 니 다. Xshell 을 다운로드 하려 면 Ubuntu 서버 [Ubuntu 17.04 x64] 와 터미널 관리 도 구 를 준비 한 후에 우 리 는 ASP. NET Core 2.0 에 관 한 리 눅 스 환경 을 설정 하기 시 작 했 습 니 다.

  • 2 단계: 루트 가 아 닌 사용 자 를 만 듭 니 다.
    안전 과 관리의 편 의 를 위해 루트 사용 자 를 사용 하지 않 고 루트 가 아 닌 사용 자 를 만 듭 니 다.
    adduser myuser          # [myuser    ,      ]          ,      
    usermod -aG sudo myuser #          sudo   ,          
    exit                    #       
    

    asp.net-core-2-publish-to-linux-ubuntu-server-01.png
    사용자 생 성 이 완료 되면 이 사용 자 를 사용 하여 Liux 서버 를 다시 연결 합 니 다.
    STEP 3: Linux 서버 업데이트
    sudo apt-get update        
    sudo apt-get upgrade       
    sudo apt-get dist-upgrade  
    sudo reboot
    

    주: 자동 으로 업데이트 하려 면 unattended-upgrades (아래 명령 은 필요 에 따라 선택) 을 사용 할 수 있 습 니 다.
    sudo apt-get install unattended-upgrades
    sudo dpkg-reconfigure --priority=low unattended-upgrades
    

    STEP 4:. NET Core 설치
    Linux 환경 에서 ASP. NET Core 사 이 트 를 실행 하려 면. NET Core 를 설치 하여 실행 해 야 할 때 (물론. NET Core 프로그램의 숙주 도 스스로 실현 할 수 있 습 니 다).
    a. 마이크로소프트 제품 KEY 를 신뢰 받 는 것 으로 등록:
    curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.gpg
    sudo mv microsoft.gpg /etc/apt/trusted.gpg.d/microsoft.gpg
    

    b. 필요 한 버 전 호스트 패키지 설정 (Ubuntu 17.04, 기타 linux 버 전 참조https://docs.microsoft.com/en-us/dotnet/core/linux-prerequisites?tabs=netcore2x):
    sudo sh -c 'echo "deb [arch=amd64] https://packages.microsoft.com/repos/microsoft-ubuntu-zesty-prod zesty main" > /etc/apt/sources.list.d/dotnetdev.list'
    sudo apt-get update
    

    c.. NET Core 설치:
    sudo apt-get install dotnet-sdk-2.0.0
    

    d. 실행 dotnet --version 명령 을 실행 하여 설치 성공 여 부 를 검사 합 니 다.
    dotnet --version
    

    표시: 2.0.0 은 Liux 서버 에. NET Core 2.0.0 버 전이 성공 적 으로 설치 되 었 음 을 나타 낸다.
    STEP 5: 예제 프로그램 만 들 기
    본 논문 에서 저 희 는. NET Core 의 명령 을 직접 사용 하여 ASP. NET Core 2.0 예제 사이트 응용 프로그램 을 만 들 고 디 렉 터 리 / home / myuser / firstapp 를 만 들 며 명령 을 수행 합 니 다.
    dotnet new mvc
    

    이 어 방금 만 든 ASP. NET Core 2.0 사이트 에서 사이트 디 렉 터 리 를 보 냅 니 다. 그래서 저 희 는 먼저 사이트 게시 디 렉 터 리 를 만 듭 니 다. / var / www / firstapp 를 만 들 고 dotnet 발표 명령 을 실행 합 니 다.
    dotnet restore
    dotnet publish -c release
    

    dotnet 명령 은 ASP. NET Core 2.0 예제 사 이 트 를 디 렉 터 리 에 발표 합 니 다. / home / myuser / firstapp / bin / release / netcoreapp 2.0 / publish / 에서 발 표 된 ASP. NET Core 2.0 사이트 프로그램 을 복사 합 니 다.
    scp -r /home/myuser/firstapp/bin/release/netcoreapp2.0/publish/* /var/www/firstapp
    

    STEP 6: 웹 사이트 시작
    우 리 는 systemd 를 하나의 서비스 로 만 들 고 시작 할 수 있 도록 설정 dotnet 이 필요 합 니 다.
    sudo vim /etc/systemd/system/kestrel-mysite.service
    
    sudo systemctl enable kestrel-mysite.service #     
    sudo systemctl start kestrel-mysite.service  #     
    sudo systemctl status kestrel-mysite.service #          
    

    현재, 우리 의 예제 사 이 트 는 5000 포트 를 통 해 서버 에서 방문 할 수 있 으 며, 터미널 에서 wget 명령 을 사용 할 수 있 습 니 다.
    wget http://localhost:5000
    

    다음 실행 효 과 를 볼 수 있 습 니 다:
    asp.net-core-2-publish-to-linux-ubuntu-server-02.png
    우리 의 ASP. NET Core 2.0 사이트 응용 프로그램 이 Liux 서버 에 성공 적 으로 설정 되 었 음 을 설명 합 니 다.지금까지 ASP. NET Core 2.0 이 Liux 에서 so easy 를 실행 하고 있다 고 생각 하지 않 습 니 다!!
    그런데 '그런데' 를 봤 을 때 마음 은 어 땠 어 요?
    그러나 이 예제 프로그램 은 아직 서버 에서 만 접근 할 수 있 고 외부 네트워크 는 접근 할 수 없습니다.
    급 하지 않 습 니 다. 본 고 는 Nginx 를 사용 하여 역방향 대 리 를 하고 외부 네트워크 의 방문 과 도 메 인 이름 의 방문 을 실현 하 는 것 을 공유 합 니 다.
    STEP 7: nginx 역방향 에이전트
    sudo apt-get install nginx
    

    vim 설정 nginx 서비스 설정 사용 하기
    sudo vim /etc/nginx/sites-available/default
    

    nginx 설정 을 다음 설정 으로 바 꿉 니 다:
    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
    

    지금 은 기적 을 볼 때 입 니 다. 브 라 우 저 에 서버 IP 주 소 를 직접 입력 하고 방문 합 니 다. 쿵쿵 쿵 쿵:
    asp.net-core-2-publish-to-linux-ubuntu-server-03.png
    어 떻 습 니까? 현재 당신 의 ASP. NET Core 2.0 사 이 트 는 인터넷 을 통 해 방문 할 수 있 습 니 다. 만약 당신 의 사이트 가 도 메 인 이름 을 통 해 방문 하 는 것 을 지원 하고 싶다 면 nginx 의 설정 도 매우 간단 합 니 다.
    server {
        listen 80;
        server_name www.your_domain_name.com;
        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;
        }
    }
    

    그 중: www. yourdomain_name. com 은 도 메 인 이름 입 니 다. 설정 을 수정 한 후 nginx 설정 을 다시 불 러 옵 니 다.
    sudo nginx -s reload
    

    도 메 인 이름 으로 즐겁게 방문 하 세 요.
    주: 본 고 는 ASP. NET Core 2.0 이 Ubuntu Linux 서버 에 어떻게 발표 / 배치 되 고 Nginx 를 설정 하여 역방향 프 록 시 를 실현 하 는 지 에 관 한 문 제 를 공유 하 였 습 니 다. 예 를 들 어 서버 의 안전 (경로 표 IP 설정, nginx 의 고급 설정 등) 은 실제 프로젝트 배치 에서 관련 자 료 를 조회 하여 처리 하 십시오.
    만약 에 본 고가 당신 에 게 도움 이 된다 고 생각한다 면 칭찬 을 눌 러 서 본 고의 내용 을 이해 하고 배 워 야 하 는 학생 들 에 게 알려 주 십시오. 당신 의 지지 에 감 사 드 립 니 다.
    본 고 는 도 향 망 인 에 동시 발표 되 었 다.

    좋은 웹페이지 즐겨찾기