이 글은 기계 번역의 미러 문서이며, 원본 기사로 바로 이동하려면 여기를 클릭해 주세요.

보기: 14475|회답: 4

[출처] [실용 운영] ASP.NET ARM 라즈베리 파이에 배포된 코어 6가 DDNS와 웨이크 온-네트워크 구현을 위해 배포되었습니다

[링크 복사]
게시됨 2022. 3. 9. 오후 10:36:53 | | | |
집에 라즈베리 파이 3B(라즈베리 파이 3B Arm 아키텍처 32비트)가 있는데, .NET Core 프로그램이 크로스 플랫폼일 수 있어서 집에서 먼지를 먹고 있어서 라즈베리 파이에 배포할 웹사이트를 만들려고 합니다. 가정용 광대역은 공인 IP 주소를 가지고 있지만, 라우터를 재시작할 때마다 IP 주소가 바뀌고, ASUS 라우터의 무료 DDNS는 사용하기 쉽지 않습니다(가정 IP가 변경되었고 도메인 이름 해상도가 제때 적용되지 않았습니다). 집에는 DELL 데스크탑과 DELL EMC 서버가 있으니, ASP.NET Core로 DDNS 서비스와 Wake-on-the-Internet 도구를 작성할 준비를 하세요.

DDNS를 사용하면집에서 인터넷 IP 주소를 제때 받으세요, 네트워크 깨기 기능을 사용할 수 있습니다내 DELL 데스크탑 컴퓨터를 깨워집에서 정보를 조회하기에 편리합니다.

Core 6 ASP.NET 작성된 사이트는 라즈베리 파이에 배포됩니다3개월 넘게 안정적으로 작동하고 있습니다, 아무 문제 없이



AspNetCore 런타임을 설치하세요

먼저, 라즈베리 파이는 라즈베리 파이 OS 시스템과 함께 설치되어야 하며, 튜토리얼은 다음과 같습니다:

라즈베리 파이 3B(라즈베리 파이 3B)는 라즈베리 파이 OS 시스템과 함께 설치되었습니다
https://www.itsvse.com/thread-10052-1-1.html

그 다음 Raspberry Pi 위에 AspNetCore 런타임을 설치하고, SSH로 Raspberry Pi 호스트에 로그인한 뒤 사용하세요스도 -I루트로 전환하고 다음 명령어로 /usr/dotnet 폴더를 생성하세요:

aspnetcore-runtime-6.0.1-linux-arm.tar.gz 다운로드하고 다음 명령어로 압축을 풀어보세요:

소프트 링크를 생성하려면 명령어는 다음과 같습니다:

이 시점에서 Core 웹사이트 ASP.NET 요구하는 실행 환경이 설치되고, 아래 그림과 같이 설치된 런타임을 확인합니다:



DDNS 동적 도메인 네임 서비스

DNSPod 인터페이스를 호출하여 DDNS 동적 도메인 이름 서비스 구현, 인터페이스 문서:하이퍼링크 로그인이 보입니다.

VS 2022를 사용하여 Core 6 ASP.NET 새로운 MVC 프로젝트를 생성하고, 호출 인터페이스에 필요한 매개변수를 설정하기 위한 새로운 DNSPodOptions.cs 파일을 생성하세요. 다음과 같습니다:

appsettings.json 다음 구성을 추가하세요:

Program.cs 파일을 수정하여 설정 정보를 DNSPodOptions 클래스에 매핑하면, 코드는 다음과 같습니다:

새 DDNSWorker.cs 파일을 만들고, 백그라운드 서비스를 만들고, IP 주소를 1분마다 한 번 얻고, IP 주소가 변경되면 DNSPod 인터페이스를 호출해 도메인 이름 해상도를 업데이트합니다. (참고:1시간 이내에 변경 없이 5건 이상의 기록 수정 요청이 제출되면, 기록은 시스템에 의해 1시간 동안 잠기고 다시 수정할 수 없습니다。 예를 들어, 원래 레코드 값은 이미 1.1.1.1이며, 새 요청은 1.1.1.1로 변경해야 합니다. )

코드는 다음과 같습니다:

Program.cs 파일을 수정하고 백엔드 서비스를 다음 코드로 등록하세요:

전체 Program.cs 코드는 다음과 같습니다:


디버거는 다음과 같이 DNSPod 인터페이스를 일반적으로 호출할 수 있습니다:


웨이크 온 LAN

웨이크온-LAN은 WOL 또는 WoL로 약칭되며, 중국어로는 주로 '온라인 웨이크업'과 '원격 웨이크업' 기술로 번역됩니다. WOL은 기술이자 이 기술의 명세이며, 그 효과는 휴면 상태에 들어간 컴퓨터가 로컬 영역 네트워크(주로 이더넷)의 반대편을 통해 명령을 내릴 수 있게 하여 최대 절전 모드에서 깨어나거나 작동 상태로 재개하거나 종료 상태로 전환하도록 하는 것입니다. 또한 WOL 관련 기술에는 원격 종료 및 원격 재시작과 같은 원격 제어 메커니즘도 포함됩니다.

HomeController 컨트롤러를 수정하고 Wake-on-Network 인터페이스를 추가하면 코드는 다음과 같습니다:


Index.cshtml 페이지를 편집하고, MAC 주소 입력 박스와 버튼을 추가한 뒤 Ajax를 사용해 인터페이스를 호출하세요. 코드는 다음과 같습니다:

아래 설명과 같이 프로젝트를 시작하세요:



라즈베리 파이에 배치됨

VS 2022를 사용해 프로젝트를 릴리스할 때, 아래에 표시된 대로 라즈베리 파이의 /home/pi/wol 폴더에 릴리스 패키지를 업로드하세요:




/etc/systemd/system 폴더 아래에 새로운 nbddns.service 파일을 만들고 프로젝트를 리눅스 서비스로 등록하세요. 다음과 같습니다:

nbddns 서비스를 시작하고 다음 명령어로 부팅을 자동 시작 설정하세요:

다음 그림에 표시된 서비스 상태를 확인하세요:



마지막으로, 라우터 설정에서항구 매핑그리고 도메인 이름과 매핑된 엑스트라넷 포트를 통해 제 휴대폰에 접근했습니다4G 네트워크 사용직접적라즈베리 파이 위에 배포된 ASP.NET Core 앱에 접근할 수 있습니다, 아래 그림에서 볼 수 있습니다:



(끝)





이전의:ASP.NET 코어(XI) 엔드포인트 경로는 모든 DI 서비스를 표시하는 미들웨어를 추가합니다
다음:리눅스 ssh: 명령어를 찾을 수 없습니다
게시됨 2022. 3. 10. 오전 11:16:19 |
많은 재가 먹힌 것을 볼 수 있습니다
게시됨 2022. 3. 12. 오후 3:17:50 |
다시 와서 배워
 집주인| 게시됨 2023. 9. 23. 오전 9:25:26 |
Linux systemd 서비스 매니저가 자세히 설명되었습니다
https://www.itsvse.com/thread-10178-1-1.html
 집주인| 게시됨 2024. 6. 18. 오후 1:06:36 |
ASP.NET 코어(19)는 백그라운드 작업을 실행하기 위해 BackgroundService를 사용합니다
https://www.itsvse.com/thread-10591-1-1.html
면책 조항:
Code Farmer Network에서 발행하는 모든 소프트웨어, 프로그래밍 자료 또는 기사는 학습 및 연구 목적으로만 사용됩니다; 위 내용은 상업적 또는 불법적인 목적으로 사용되지 않으며, 그렇지 않으면 모든 책임이 사용자에게 부담됩니다. 이 사이트의 정보는 인터넷에서 가져온 것이며, 저작권 분쟁은 이 사이트와는 관련이 없습니다. 위 내용은 다운로드 후 24시간 이내에 컴퓨터에서 완전히 삭제해야 합니다. 프로그램이 마음에 드신다면, 진짜 소프트웨어를 지원하고, 등록을 구매하며, 더 나은 진짜 서비스를 받아주세요. 침해가 있을 경우 이메일로 연락해 주시기 바랍니다.

Mail To:help@itsvse.com