技术教程 · 2020年1月24日 0

如何在Ubuntu 18.04 LTS上安装Visual Studio Code-Server IDE

代码服务器是Visual Studio(VS)代码,可以在服务器上远程运行,并且可以通过Web浏览器进行访问。它使您可以创建并拥有一个一致的开发环境,可以随时随地访问它。

在本教程中,我们将向您展示如何在最新的Ubuntu 18.04 Server上使用Nginx作为反向代理和SSL Letsencrypt安装代码服务器。

先决条件

对于本指南,我们将在具有3GB RAM,25GB可用磁盘空间和2个CPU的Ubuntu 18.04服务器上安装代码服务器。

我们要做什么:

  • 添加用户并下载代码服务器二进制文件
  • 将代码服务器设置为系统服务
  • 生成SSL Letsencrypt
  • 将Nginx设置为代码服务器的反向代理
  • 测试中

第1步-添加用户并下载代码服务器二进制文件

首先,我们将添加一个新用户并从GitHub下载代码服务器二进制文件。

使用以下命令添加新的用户“代码”。

useradd -m -s /bin/bash code
passwd code

现在以“代码”用户身份登录并下载代码服务器二进制文件。

su - code
wget https://github.com/cdr/code-server/releases/download/2.1692-vsc1.39.2/code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz

下载VS Code服务器

提取代码服务器,并将目录重命名为“ bin”。

tar -xf code-server2.1692-vsc1.39.2-linux-x86_64.tar.gz
mv code-server2.1692-vsc1.39.2-linux-x86_64/ bin/

现在使代码服务器成为可执行的二进制文件。

chmod +x ~/bin/code-server

并创建一个用于存储用户数据的新数据目录。

mkdir -p ~/data

现在,您已经创建了一个新用户“ code”,并将代码服务器二进制文件下载到用户“ code”的主目录中。

下载并安装代码服务器

第2步-将代码服务器设置为系统服务

在此步骤中,我们将设置代码服务器以作为系统服务运行。

代码服务器服务将在用户“代码”下运行,默认端口为“ 8080”,并启用密码验证。

转到“ / etc / systemd / system”目录,并使用vim编辑器创建一个新的服务文件“ code-server.service”。

cd /etc/systemd/system/
vim code-server.service

自行更改密码的“环境”选项,然后将配置粘贴到其中。

[Unit]
Description=code-server
After=nginx.service

[Service]
User=code
WorkingDirectory=/home/code
Environment=PASSWORD=hakasevscodeserv
ExecStart=/home/code/bin/code-server --host 127.0.0.1 --user-data-dir /home/code/data --auth password
Restart=always

[Install]
WantedBy=multi-user.target

保存并关闭。

现在重新加载系统管理器。

systemctl daemon-reload

之后,启动代码服务器服务,并使用以下命令将其添加到系统引导中。

systemctl start code-server
systemctl enable code-server

设置代码服务器系统服务

现在,检查代码服务器服务。

netstat -plntu
systemctl status code-server

并且代码服务器服务已启动并在默认端口“ 8080”上运行。

运行代码服务器

结果,您已经设置了代码服务器以作为系统服务运行。

第3步-生成SSL Letsencrypt

在此步骤中,我们将使用certbot工具生成SSL letencrypt,以保护代码服务器。

使用下面的apt命令安装certbot工具。

sudo apt install certbot -y

安装完成后,请使用下面的certbot命令生成SSL letencrypt。

certbot certonly --standalone --agree-tos -m myemail@gmail.com -d vscode.hakase-labs.io

完成后,您的证书将位于“ /etc/letsencrypt/live/vscode.hakase-labs.io/”目录中。

ls -lah /etc/letsencrypt/live/vscode.hakase-labs.io/

现在,您已经生成了SSL Letsencrypt,用于使用certbot工具保护代码服务器的安装。

第4步-将Nginx设置为反向代理

在此步骤中,我们将安装Nginx Web服务器并将其设置为代码服务器的反向代理,并在其上面启用了SSL。

使用下面的apt命令安装Nginx软件包。

sudo apt install nginx -y

安装完成后,转到“ / etc / nginx / sites-available”目录,然后创建一个新的虚拟主机配置“代码服务器”。

cd /etc/nginx/sites-available/
vim code-server

现在,使用您自己的名称和名称更改SSL的域名和路径,并将配置粘贴到其中。

server {
 listen 80;
 server_name vscode.hakase-labs.io;
 # enforce https
 return 301 https://$server_name:443$request_uri;
}

server {
 listen 443 ssl http2;
 server_name vscode.hakase-labs.io;

 ssl_certificate /etc/letsencrypt/live/vscode.hakase-labs.io/fullchain.pem;
 ssl_certificate_key /etc/letsencrypt/live/vscode.hakase-labs.io/privkey.pem;

 location / {
 proxy_pass http://127.0.0.1:8080/;
 proxy_set_header Host $host;
 proxy_set_header Upgrade $http_upgrade;
 proxy_set_header Connection upgrade;
 proxy_set_header Accept-Encoding gzip;
 }
}

保存并关闭。

现在激活“代码服务器”虚拟主机,测试nginx配置并确保没有错误。

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

编辑Nginx配置

之后,重新启动nginx服务并将其添加到系统引导中。

systemctl restart nginx
systemctl enable nginx

现在,Nginx服务已启动并作为代码服务器的反向代理运行。使用以下命令检查它。

netstat -plntu
systemctl status nginx

您将得到如下结果。

启动Nginx

Nginx服务已启动并在Ubuntu 18.04服务器上运行,并在其顶部启用了HTTP和HTTPS端口。

第5步-测试

打开Web浏览器,然后键入代码服务器安装的URL。

https://vscode.hakase-labs.io/

使用您在代码服务器服务文件中配置的密码登录。

登录VS代码

密码正确后,您将在Web浏览器上获得VS Code编辑器,如下所示。

Visual Studio程式码

结果,您已经在使用Nginx作为反向代理的Ubuntu 18.04服务器上安装了代码服务器,并使用SSL Letsencrypt保护了代码服务器的安装。

参考

原文:https://www.howtoforge.com/how-to-install-code-server-ide-on-ubuntu-1804/