Vscode 서버

아이패드나 크롬북이 있고 프로그래밍에도 사용하고 싶으신가요? vscode를 사용하지 않는 이유는 무엇입니까?

Visual Studio Code는 Apple Store에서 직접 구할 수 없으므로 Visual Studio Code의 호스트로 라즈베리 파이를 사용합니다. 그러나 vnc를 통한 원격 작업 대신 웹 버전의 vscode를 사용합니다.

완전히 작동하는 라즈베리 파이가 있어야 하므로 처음 사용하는 경우 이 페이지를 확인하면 라즈베리 파이 설정을 안내합니다.

라즈베리 파이를 설치하고 ssh를 통해 완전히 사용할 수 있으면 이제 ipad 스토어에서 ssh 앱을 설치할 차례입니다.

ssh 앱을 사용하여 라즈베리 파이에 원격으로 접속할 수 있습니다. 이 경우 내 라즈베리파이 주소가 10.1.1.254라고 가정해 보겠습니다.

ssh [email protected]


Visual Studio Code Server 설치를 위한 몇 가지 요구 사항을 설치해 보겠습니다.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
nvm install 14.4.0


npm을 사용하여 코드 서버 설치

npm install -g code-server


이제 코드 서버를 systemctl에 추가해야 합니다. 이를 위해 pm2 모듈을 사용할 것입니다.

sudo npm install pm2@latest -g
pm2 start code-server
pm2 startup systemd 


이렇게 하면 명령 복사 및 붙여넣기가 생성됩니다. 다음과 같아야 합니다.

sudo env PATH=$PATH:/home/pi/.nvm/versions/node/v14.4.0/bin /usr/local/lib/node_modules/pm2/bin/pm2 startup systemd -u pi --hp /home/pi
pm2 save


이제 raspberrypi를 다시 시작하고 시작되면 서비스 상태를 확인하십시오.

다음과 같아야 합니다.

pi@raspberrypi:~ $ systemctl status pm2-pi.service
● pm2-pi.service - PM2 process manager
   Loaded: loaded (/etc/systemd/system/pm2-pi.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2022-03-26 19:33:15 GMT; 1min 59s ago
     Docs: https://pm2.keymetrics.io/
  Process: 854 ExecStart=/usr/local/lib/node_modules/pm2/bin/pm2 resurrect (code=exited, status=0/SUCCESS)
 Main PID: 932 (node)
    Tasks: 11 (limit: 3720)
   CGroup: /system.slice/pm2-pi.service
           └─932 PM2 v5.2.0: God Daemon (/home/pi/.pm2)


따라서 vscode는 localhost:8080에서 사용할 수 있지만 외부에서 액세스해야 합니다. 이를 수행하는 가장 좋은 방법은 리버스 프록시 nginx를 설치하고 구성하는 것입니다.

다음을 실행하여 설치하십시오.

sudo apt update
sudo apt upgrade
sudo apt install nginx


이제 웹사이트를 노출해야 합니다.

sudo cp /etc/nginx/sites-available/default /etc/nginx/sites-available/code-server
sudo vim /etc/nginx/sites-available/code-server


기본 사이트 구성에 주석을 달고 가상 호스트 구성의 주석을 제거하십시오. 위치 매개변수가 다릅니다. 코드 서버가 수신하는 포트를 변경하여 코드를 추가하십시오. 우리의 경우 nginx에 포트 8081을 사용하고 코드 서버에 8080을 사용하고 있습니다.

server {
        listen 8081;
        listen [::]:8081;

        server_name raspberrypi;

        #root /var/www/example.com;
        #index index.html;

        location / {
                proxy_pass http://localhost:8080;
                proxy_http_version 1.1;
                proxy_set_header Upgrade $http_upgrade;
                proxy_set_header Connection 'upgrade';
                proxy_set_header Host $host;
                proxy_cache_bypass $http_upgrade;
        }
}


구성 오류를 확인하고 새로 생성된 사이트를 활성화한 다음 nginx 서비스를 다시 시작합니다.

sudo nginx -t
sudo ln -s /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/
sudo systemctl restart nginx


그리고 그게 다야. 이제 ipad, 컴퓨터 또는 기타 장치에서 사용할 수 있으며 파일 및 확장 프로그램을 중앙 집중식으로 유지할 수 있습니다. 홈 라우터를 사용하여 노출하고 이동 중에도 사용할 수 있습니다. 하지만 이를 위해서는 보안을 강화해야 합니다.



이 설정은 웹 페이지의 암호를 자동으로 구성하지만(~/.config/code-server/config.yaml에서 확인할 수 있음) 서버를 보호하는 데 충분하지 않을 수 있습니다. 따라서 설정 보안에 약간의 시간을 투자하십시오.

좋은 웹페이지 즐겨찾기