ASP를 위해 안드로이드 장치를 사용하는 방법네트워크 개발

10469 단어 androidvscodedotnet
본 논문에서 안드로이드 장치를 웹 개발에 사용되는 기계로 바꾸는 방법을 보여 드리겠습니다.깨끗하다재미를 위해서, 우리는 태블릿PC에서 다른 컴퓨터의 도움 없이 필요한 모든 설정 절차를 직접 실행할 것이다.기본 사상은 사용code-server이다. 이로써 우리는 원격 기기에서 VsCode를 실행하고 브라우저에서 접근할 수 있다.

가상 머신 설정


가상 머신(VM) 공급업체로는 DigitalOcean을 사용합니다.Digital Ocean은 설정된 코드 서버를 포함하는 Droplet(Linux 기반 VM)을 제공합니다.문제는 이전 버전의 코드 서버를 포함하고 있기 때문에 최신 버전으로 업데이트하기가 매우 어렵다는 것이다.따라서 깨끗한 Ubuntu Droplet을 사용하여 코드 서버를 직접 설치합니다.

우리의 테스트에 있어서 가장 싼 옵션이면 충분하지만, 만약 당신이 엄숙한 일을 하려고 한다면, 당신은 월 10달러의 옵션을 선택할 수 있습니다.Digital Ocean의 장점은 가상 기기가 당신에게 분배될 때만 비용을 지불할 수 있다는 것이다.그래서 한 달에 80달러를 선택해서 한 시간 동안 가상 기기를 가지고 놀다가 폐기하면 0.119달러만 받을 수 있다.
설치하는 동안 SSH를 사용하여 서버에 액세스합니다.이를 위해 Termux를 사용할 수 있습니다. 이것은 안드로이드 터미널 시뮬레이터와 리눅스 환경 응용 프로그램입니다.Termux를 개발과 관련된 많은 작업에 사용할 수 있으며, 심지어는 NodeJ를 설치하고, 어느 정도에 웹 응용 프로그램을 개발할 수 있습니다.안타깝게도, 적어도 이 글을 쓸 때, 그것은 어떤 목적에도 쓰일 수 없다.네트워크 개발.하지만 주목할 만한 것은Termux/다.NET 향후 호환성 - https://github.com/termux/termux-packages/issues/516.
SSH 액세스를 위해서는 먼저 SSH 키를 생성해야 하므로 OpenSSH를 설치합니다.
pkg upgrade 
pkg install openssh
그런 다음 SSH 키 쌍을 생성합니다.
ssh-keygen -t rsa -b 2048
프롬프트에서 기본 위치를 유지한 다음 공용 SSH 키를 인쇄합니다.
cat ~/.ssh/id_rsa.pub
이제 Droplet 설정으로 돌아가서 인증 섹션에 공개 키를 입력할 수 있습니다.

이렇게서버의 이름을 변경한 다음 서버 생성을 완료할 수도 있습니다.설치는 단 몇 초 만에 끝낼 수 있다.
Termux로 돌아가서 다음 명령을 실행하여 새로 만든 서버에 연결합니다.
ssh root@[ip address of your server]
물방울 목록에서 IP 주소를 가져올 수 있습니다.

코드 서버 사용자


코드 서버를 설치하기 전에, 우리는 한 사용자를 준비해야 한다. 코드 서버는 이 사용자 아래에서 실행될 것이다.이것은 코드 서버에서 VsCode의 터미널을 통해 서버에서 명령을 직접 실행할 수 있도록 하기 때문입니다. 기본적으로 루트 사용자에서 명령을 실행하지 않으면 더욱 안전합니다.
다음 명령을 사용하여 새 사용자를 만듭니다.
adduser codeuser
물론, "codeuser"가 아니라 당신이 좋아하는 이름을 선택할 수 있습니다."sudo"명령을 사용하여 "codeuser"사용자 아래에서 관리 작업을 실행하려면, 이 사용자를 "sudo"그룹에 추가해야 합니다.
usermod -aG sudo codeuser

코드 서버


우리는 이제 코드 서버를 설치할 수 있다.Google은 공식 코드 서버 documentation 를 지침으로 사용하지만, 이 지침에는 곡가운에 가상 기기를 만드는 절차도 포함되어 있지만, 이미 하나가 있습니다.따라서 우리는 설치 코드 서버 패키지로 바로 이동할 수 있다.
curl -fsSL https://code-server.dev/install.sh | sh
다음 명령을 사용하여 코드 서버 서비스를 사용합니다.
systemctl enable --now code-server@codeuser
'@' 문자 뒤에 있는 '코드user' 문자열은 코드 서버 서비스가 우리가 만든 사용자 아래에서 실행되어야 한다는 것을 지정합니다.기술적인 측면에서 볼 때, 우리는 단지 실례의 식별자를 정의했을 뿐, 단원 템플릿의 'User=' 옵션의 값으로 사용된다.
"/lib/systemd/system/[email protected]"템플릿을 인쇄할 수 있습니다.
cat /lib/systemd/system/[email protected]
다음 회선을 확인하세요.
User=%i

공개 코드 서버


우리는 역방향 에이전트를 사용하여 브라우저를 통해 코드 서버에 접근해서 인터넷에 공개해야 한다.보안을 위해 HTTPS를 통해서만 코드 서버를 공개합니다.따라서 SSL 인증서가 필요합니다.우리는 Let’s Encrypt를 사용할 수 있으며 SSL 인증서를 무료로 제공합니다.유일한 단점은 Let's Encrypt가 일반 IP 주소의 인증서를 제공하지 않기 때문에 도메인이 필요하다는 것입니다.
도메인을 검색한 후 첫 번째 단계는 도메인을 서버 IP로 지정하는 것입니다.도메인 공급자의 DNS 구성에 "A"레코드를 만들어 이를 수행할 수 있습니다.기록된 값을 서버의 IP 주소로 설정하고 호스트를 원하는 하위 도메인으로 설정합니다. (예: "www")DNS 전파에는 시간이 좀 걸릴 수 있습니다(24-48시간, 일반적으로 훨씬 빠릅니다).
우리는 caddy 서버를 역 에이전트로 사용할 것이다.이렇게 하면 HTTPS 설정이 Let's Encrypt와 매우 쉽습니다.우선, 우리는 정부documentation의 절차에 따라caddy를 설치해야 한다.
sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/cfg/gpg/gpg.155B6D79CA56EA34.key' | sudo apt-key add -

curl -1sLf 'https://dl.cloudsmith.io/public/caddy/stable/cfg/setup/config.deb.txt?distro=debian&version=any-version' | sudo tee -a /etc/apt/sources.list.d/caddy-stable.list

sudo apt update

sudo apt install caddy
이제 역 에이전트를 설정합니다./etc/caddy/Caddyfile 의 내용을 다음과 같이 바꿉니다.
[my-domain]
reverse_proxy 127.0.0.1:8080
여기서 "[my domain]"은 "A"레코드를 구성하는 도메인입니다. 예를 들어 "www.my-domain.com"입니다.
이제 캐디 서버를 다시 불러오겠습니다.
sudo systemctl reload caddy
우리는 이미 코드 서버에 접근할 준비가 되어 있다.브라우저에서 "https://[my domain]"([my domain] 을 필드로 바꾸기) 를 열면 코드 서버의 로그인 화면을 볼 수 있습니다.다음 명령을 실행하면 암호를 찾을 수 있습니다.
cat ~codeuser/.config/code-server/config.yaml
그것을 변경하려면 "config.yaml"파일을 수정하고 다음 명령을 사용하여 코드 서버 서비스를 다시 불러오십시오.
sudo systemctl restart code-server@codeuser
나머지 구성은 VsCode 터미널에서 직접 실행할 수 있으므로 Termux에서 SSH 연결을 해제할 수 있습니다.
보안을 강화하기 위해 UFW 방화벽을 사용합니다.기본 포트(443)에서 SSH 연결 및 HTTPS 연결을 허용해야 합니다.
ufw allow OpenSSH
ufw allow https
이제 우리는 방화벽을 사용할 수 있다.
ufw enable

설치하다.NET SDK


우리는 설치할 수 있다.NET SDKhttps://docs.microsoft.com/en-us/dotnet/core/install/linux-ubuntu의 단계를 따릅니다.
다음 명령을 실행합니다(Ubuntu 20.04의 경우 다른 Linux 릴리스를 사용하는 경우 https://docs.microsoft.com/en-us/dotnet/core/install/linux로 이동하여 선택합니다.
wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
그리고
sudo apt-get update; \
    sudo apt-get install -y apt-transport-https && \
    sudo apt-get update && \
    sudo apt-get install -y dotnet-sdk-5.0

우리의 첫 번째 ASP.NET 응용 프로그램


첫 번째 ASP를 만들 준비가 되었습니다.NET 응용 프로그램은 코드 서버 측의 일반적인 방식을 사용합니다.
mkdir webapp1
cd webapp1
dotnet new web
우리는 시작할 수 있다.
dotnet run
원격 서버의 로컬 호스트에서 실행되기 때문에 애플리케이션을 액세스하는 것이 유일한 문제입니다.물론, 우리는curl을 사용하여 응답을 검사할 수 있습니다.
curl http://localhost:5000
하지만 그것은 상당히 고통스러울 것이다.우리는 보통 캐디 서버에 로컬 주소를 공개하기 위해 역 에이전트를 만들지만, 코드 서버가 우리를 소개했다."https://[my domain]/proxy/5000"을 클릭하면 ASP를 볼 수 있습니다.NET 애플리케이션이것은 코드 서버가 간단한 역방향 에이전트를 충당하고 그 중에서 '/에이전트/[포트]' 경로에 대한 모든 요청이 해당하는 포트로 전송되기 때문이다.

결론


우리는 안드로이드 장치로 개발 환경을 성공적으로 만들었다.가장 중요한 것은 우리가 안드로이드 설비 자체로부터 전체 설정을 성공적으로 완성했기 때문에 당신은 심지어 버스에서 완성할 수 있다🙂. 아이패드를 가지고 있다면 다행히도 같은 절차를 따를 수 있지만, 테머스 대신 Blink Shell 또는 Ish 를 사용할 것이다.
이렇게, 즐거움 코드!

Sources

  • https://wiki.termux.com/wiki/Remote_Access
  • https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-20-04
  • https://github.com/cdr/code-server/blob/master/doc/guide.md#2-install-code-server
  • https://www.digitalocean.com/community/tutorials/understanding-systemd-units-and-unit-files
  • https://github.com/cdr/code-server/blob/master/doc/FAQ.md
  • 좋은 웹페이지 즐겨찾기