如何在 Rocky Linux 8 上安装 Visual Studio Code Cloud IDE如何在 Rocky Linux 8 上安装 Visual Studio Code Cloud IDE如何在 Rocky Linux 8 上安装 Visual Studio Code Cloud IDE如何在 Rocky Linux 8 上安装 Visual Studio Code Cloud IDE
  • 业务
  • 目标
  • 支持
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容

如何在 Rocky Linux 8 上安装 Visual Studio Code Cloud IDE

发表 admin at 2025年2月28日
类别
  • 未分类
标签

在此页

  1. 先决条件
  2. 第 1 步 - 配置防火墙
  3. 第 2 步 - 安装代码服务器
  4. 第 3 步 - 配置代码服务器
  5. 第 4 步 - 安装 SSL
  6. 第 5 步 - 安装和配置 Nginx
  7. 第 6 步 - 使用代码服务器
  8. 结论

Visual Studio Code 已成为最流行的编码 IDE 之一。它集成了 Git 和 Docker 支持、代码调试器、代码自动完成、处理远程文件的能力并支持各种插件。

随着一切都转移到云端,从任何地方访问您选择的 IDE 是现代开发的完美选择。 Cloud IDE 允许开发人员之间的实时协作,从而提高生产力。 coder-server 是一个应用程序,允许您从远程服务器运行 Visual Studio Code,并使其可通过任何浏览器访问。

本教程将教您如何在 Rocky Linux 8 服务器上使用代码服务器应用程序安装 Visual Studio Code IDE。您还将通过公共域公开它以及 SSL 支持。

先决条件

  1. A server running Rocky Linux with at least 2 GB of RAM and 2 CPU cores.

  2. A non-root user with sudo privileges.

  3. A domain registered and pointed to the server.

  4. Nginx installed on your server.

  5. Ensure everything is updated.

    $ sudo dnf update
    

第 1 步 - 配置防火墙

第一步是配置防火墙。 Rocky Linux 自带 Firewalld 防火墙。

检查防火墙是否正在运行。

$ sudo firewall-cmd --state

以下输出证明防火墙正在运行。

running

检查当前允许的服务/端口。

$ sudo firewall-cmd --permanent --list-services

它应该显示以下输出。

dhcpv6-client mdns ssh

为代码服务器打开端口 8080。

$ sudo firewall-cmd --permanent --add-port=8080/tcp

允许 HTTP 和 HTTPS 端口。

$ sudo firewall-cmd --permanent --add-service=http
$ sudo firewall-cmd --permanent --add-service=https

重新检查防火墙的状态。

$ sudo firewall-cmd --permanent --list-all

您应该会看到类似的输出。

public
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: cockpit dhcpv6-client http https ssh
  ports: 8080/tcp
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

重新加载防火墙以启用更改。

$ sudo systemctl reload firewalld

第 2 步 - 安装代码服务器

code-server 附带一个安装脚本,可以检测 Linux 版本并为您的服务器安装适当的二进制文件。您可以测试安装脚本以检查它是否可以在您的服务器上运行。

运行以下命令以执行安装试运行。

$ curl -fsSL https://code-server.dev/install.sh | sh -s -- --dry-run
Rocky Linux 8.4 (Green Obsidian)
Installing v3.12.0 of the amd64 rpm package from GitHub.

+ mkdir -p ~/.cache/code-server
+ curl -#fL -o ~/.cache/code-server/code-server-3.12.0-amd64.rpm.incomplete -C - https://github.com/cdr/code-server/releases/download/v3.12.0/code-server-3.12.0-amd64.rpm
+ mv ~/.cache/code-server/code-server-3.12.0-amd64.rpm.incomplete ~/.cache/code-server/code-server-3.12.0-amd64.rpm
+ sudo rpm -i ~/.cache/code-server/code-server-3.12.0-amd64.rpm

rpm package has been installed.

To have systemd start code-server now and restart on boot:
  sudo systemctl enable --now $USER
Or, if you don't want/need a background service you can run:
  code-server

试运行成功后运行设置。

$ curl -fsSL https://code-server.dev/install.sh | sh

安装脚本可能会询问您的 sudo 密码。

启用代码服务器服务。

$ sudo systemctl enable $USER

如果要更新代码服务器实例,请重复安装过程。代码服务器将保留您的文件和设置。

第 3 步 - 配置代码服务器

代码服务器将其配置文件存储在 ~/.config/code-server/config.yaml。打开它进行编辑。

$ sudo nano ~/.config/code-server/config.yaml

以下是安装期间设置的默认设置。

bind-addr: 127.0.0.1:8080
auth: password
password: a4768b3439e5e93b5d62489b
cert: false

默认配置文件启用以下行为:

  • 监听环回 IP 端口 8080
  • 使用随机生成的密码启用密码授权
  • 不使用 TLS

您可以通过更改文件中的值来更改密码。

如果你想存储密码的散列版本,你必须先安装 npm。安装后,运行以下命令来设置散列密码。

$ echo -n "thisismypassword" | npx argon2-cli -e
$argon2i$v=19$m=4096,t=3,p=1$wst5qhbgk2lu1ih4dmuxvg$ls1alrvdiwtvzhwnzcm1dugg+5dto3dt1d5v9xtlws4

您将在终端获得散列值。将其复制并粘贴到配置文件中。

auth: password
hashed-password: "$argon2i$v=19$m=4096,t=3,p=1$wST5QhBgk2lu1ih4DMuxvg$LS1alrVdIWtvZHwnzCM1DUGg+5DTO3Dt1d5v9XtLws4"

确保用引号将散列密码括起来。如果要禁用遥测,请在文件中添加以下行。

disable-telemetry: false

您可以在文件中定义其他选项。要检查您可以添加的所有其他选项,请使用以下命令列出所有标志。

$ code-server --help

完成后按 Ctrl + X 并在出现提示时输入 Y 来保存文件。

第 4 步 - 安装 SSL

要使用 Lets Encrypt 安装 SSL 证书,我们需要下载 Certbot 工具。但首先,我们需要安装 EPEL 存储库。

运行以下命令来安装 Certbot。

$ sudo dnf install epel-release
$ sudo dnf install certbot

生成 SSL 证书。

$ sudo certbot certonly --standalone --agree-tos --preferred-challenges http -d code-server.example.com -m 

上面的命令会将证书下载到服务器上的 /etc/letsencrypt/live/code-server.example.com 目录。请务必将 [email 替换为您的实际电子邮件。

生成 Diffie-Hellman 组证书。

$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

为 Lets Encrypt 自动更新创建一个挑战 webroot 目录。

$ sudo mkdir -p /var/lib/letsencrypt

创建 Cron 作业以更新 SSL。它将每天运行以检查证书并在需要时更新。为此,首先,创建文件 /etc/cron.daily/certbot-renew 并打开它进行编辑。

$ sudo nano /etc/cron.daily/certbot-renew

粘贴以下代码。

#!/bin/sh
certbot renew --cert-name example.com --webroot -w /var/lib/letsencrypt/ --post-hook "systemctl reload nginx"

通过按 Ctrl + X 并在出现提示时输入 Y 来保存文件。

更改任务文件的权限以使其可执行。

$ sudo chmod +x /etc/cron.daily/certbot-renew

第 5 步 - 安装和配置 Nginx

创建并打开 /etc/yum.repos.d/nginx.repo 文件以创建官方 Nginx 存储库。

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key
module_hotfixes=true

通过按 Ctrl + X 并在出现提示时输入 Y 来保存文件。

安装 Nginx 服务器。

$ sudo dnf install nginx

启用 Nginx 服务。

$ sudo systemctl enable nginx

在 /etc/nginx/conf.d 目录下为 code-server 创建一个配置文件。

$ sudo nano /etc/nginx/conf.d/code-server.conf

将以下代码粘贴到其中。

server {
    	listen 80; listen [::]:80;
	    server_name code-server.example.com;
    	return 301 https://$host$request_uri;
}

server {
        server_name code-server.example.com;

        listen 443 ssl http2;
        listen [::]:443 ssl http2;

        access_log /var/log/nginx/code-server.access.log;
        error_log /var/log/nginx/code-server.error.log;

        ssl_certificate /etc/letsencrypt/live/code-server.example.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/code-server.example.com/privkey.pem;
        ssl_trusted_certificate /etc/letsencrypt/live/code-server.example.com/chain.pem;
        ssl_session_timeout 1d;
        ssl_session_cache shared:MozSSL:10m;
        ssl_session_tickets off;

        ssl_protocols TLSv1.2 TLSv1.3;
        ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;

        ssl_stapling on;
        ssl_stapling_verify on;
        ssl_dhparam /etc/ssl/certs/dhparam.pem;
 
	   location / {
	       proxy_pass http://localhost:8080/;
	       proxy_set_header Host $host;
	       proxy_set_header Upgrade $http_upgrade;
	       proxy_set_header Connection upgrade;
	       proxy_set_header Accept-Encoding gzip;
	   }
}

通过按 Ctrl + X 并在出现提示时输入 Y 来保存文件。

验证配置文件。

$ sudo nginx -t

如果出现以下错误,则需要编辑文件 /etc/nginx/nginx.conf 以添加/调整变量的大小 server_names_hash_bucket_size。

nginx: [emerg] could not build the server_names_hash, you should increase server_names_hash_bucket_size

打开文件 /etc/nginx/nginx.conf 进行编辑。

$ sudo nano /etc/nginx/nginx.conf

在行 include /etc/nginx/conf.d/*.conf; 之前添加以下行。

server_names_hash_bucket_size  64;

通过按 Ctrl + X 并在出现提示时输入 Y 来保存文件。再次验证 Nginx。

启动 Nginx 服务器。

$ sudo systemctl start nginx

第 6 步 - 使用代码服务器

在浏览器中启动域 https://code-server.example.com,然后输入密码以验证您的代码服务器安装。输入配置文件中的密码。

code-server 将在您第一次启动时询问 VS 代码设置。

选择一种配色方案,浏览其余部分,完成后单击“标记为完成”。

结论

您现在已经在 Rocky Linux 服务器上安装了一个 Visual Studio Code 实例。与官方 VS Code 相比,这有一些注意事项。可用的扩展不是官方扩展,而是从代码服务器非官方存储库提供的。如果你想安装官方扩展,你可以查阅他们的官方文档。这需要一些努力。如果您有任何问题,请在下面的评论中发表。

©2015-2025 Norria support@alaica.com