DEV Community

RichardBrowning
RichardBrowning

Posted on

[Short Journal] Code-Server下载安装和开机自启动配置

概述

对于一些平台,无法安装完整的VSCode,比如龙芯平台截至2024年九月都没有除了code-oss之外的Code发行版,会有大量的插件不支持。

本文概括安装Visual Studio Code的浏览器版本(code-server),并设置为系统服务的流程。

下载安装 code-server

建议事先检查curl是否已经安装,没有的话sudo apt install curl, sudo pacman -S curl, sudo yum install curl,取决于repo。

curl -fsSL https://code-server.dev/install.sh | sh
Enter fullscreen mode Exit fullscreen mode

配置code-server

安装后,修改或手动建立配置文件.config/code-server/config.yaml:

mkdir -p ~/.config/code-server
vim ~/.config/code-server/config.yaml
Enter fullscreen mode Exit fullscreen mode

添加或修改内容

bind-addr: 0.0.0.0:8083  # code-server服务器端口
auth: password  # 'password' 表示密码验证, 'none' 表示无验证
password: your_password  # 密码
cert: false  # 禁用 SSL, 用 Nginx 或其他反向代理管理 SSL
Enter fullscreen mode Exit fullscreen mode

创建和启用系统服务

首先建立一个code-server的系统服务文件

sudo vim /etc/systemd/system/code-server.service
Enter fullscreen mode Exit fullscreen mode

加入内容:

[Unit]
Description=Code Server #描述
After=network.target #网络之后加载

[Service]
Type=simple
User=your_username  #你的Linux用户名
ExecStart=/usr/bin/code-server #code-server执行文件路径
Restart=always #是否重启
RestartSec=10 #重启冷却时间
# Environment= #环境配置,可能用不上

[Install]
WantedBy=multi-user.target 
Enter fullscreen mode Exit fullscreen mode

启用和启动服务

重启systemd来应用新的.service文件,然后启动和启用code-verver.service:

# Reload systemd
sudo systemctl daemon-reload

# Start code-server
sudo systemctl start code-server

# Enable code-server to start on boot
sudo systemctl enable code-server
Enter fullscreen mode Exit fullscreen mode

访问 code-server

在浏览器里访问网址

http://your_server_ip:8080
Enter fullscreen mode Exit fullscreen mode

如果本地部署,那就是:

http://localhost:8083 # 或者你设定的地址和端口
Enter fullscreen mode Exit fullscreen mode

会有输入密码框,密码就是配置中的密码

(可选) Using Nginx as a Reverse Proxy

如果想用Nginx配置SSL, 可与为code-server设置反向代理. 基础的Nginx配置:

server {
    listen 80;
    server_name your_domain.com;  # Replace with your domain or server IP

    location / {
        proxy_pass http://127.0.0.1:8080;  # Forward traffic to code-server
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection upgrade;
        proxy_set_header Accept-Encoding gzip;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}
Enter fullscreen mode Exit fullscreen mode

设置' Nginx '后,您可以使用Let ' s Encrypt获得SSL证书。
通过这种配置,' code-server '将作为服务运行,可以从浏览器访问,并且如果失败会自动重启。

Top comments (0)