Сервер Vscode

У вас есть ipad или chromebook, и вы хотите использовать его для программирования? Почему бы не использовать для этого vscode?

Visual Studio Code недоступна в магазине apple, поэтому мы будем использовать raspberry pi в качестве хоста для visual studio code. Но вместо удаленного доступа через vnc мы будем использовать веб-версию vscode.

Вам понадобится полностью рабочий raspberry pi, поэтому если вы новичок, просто загляните на эту страницу, где вы найдете инструкцию по настройке Raspberry Pi.

Когда ваш raspberry pi установлен и полностью доступен через ssh, пришло время установить приложение ssh из магазина ipad.

Вы можете удаленно подключиться к raspberry pi с помощью приложения ssh. В данном случае, допустим, адрес моего raspberrypi — 10.1.1.254.

ssh pi@10.1.1.254
Войдите в полноэкранный режим Выйти из полноэкранного режима

Давайте установим некоторые требования для установки visual studio code server.

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.35.3/install.sh | bash
nvm install 14.4.0
Войти в полноэкранный режим Выйти из полноэкранного режима

Установите code-server с помощью 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
Войти в полноэкранный режим Выйти из полноэкранного режима

Закомментируйте конфигурацию сайта по умолчанию и откомментируйте конфигурацию виртуального хоста. Обратите внимание, что параметр location отличается. Просто добавьте приведенный ниже код, изменив порт, который прослушивает ваш код-сервер. В нашем случае мы используем порт 8081 для nginx и 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), этого может быть недостаточно для защиты вашего сервера. Поэтому потратьте немного времени на защиту установки.

Оцените статью
devanswers.ru
Добавить комментарий