统信uos部署code-server需五步:一、确认系统环境并安装node.js;二、npm全局安装code-server并创建专用用户;三、配置systemd服务实现开机自启;四、通过nginx反向代理+https保障安全访问;五、修改config.yaml放开绑定地址、设密码、禁用遥测并加固权限。

如果您希望在统信UOS系统上部署code-server以实现Web端访问VS Code功能,则需通过命令行安装并配置服务。以下是完成该部署的完整操作流程:
一、确认系统环境与依赖
code-server要求系统具备Node.js运行时及必要的构建工具,统信UOS默认未预装这些组件,需手动验证并补充。确保系统为UOS专业版或社区版(v20及以上),且已启用网络连接与root权限。
1、打开终端,执行uname -m确认架构为amd64或arm64;
2、运行cat /etc/os-version核对版本号是否为20或更高;
3、执行which node和which npm检查Node.js是否已安装,若无输出则需先安装;
4、若Node.js缺失,执行sudo apt update && sudo apt install -y nodejs npm安装基础运行时;
5、验证Node.js版本不低于<strong><font color="green">18.17.0</font></strong>,运行node --version确认。
二、使用npm全局安装code-server
npm方式安装便于快速获取最新稳定版,适用于开发测试场景,安装后可直接调用二进制文件启动服务。
1、执行sudo npm install -g code-server进行全局安装;
2、安装完成后运行code-server --version验证是否返回有效版本号;
3、创建专用运行用户避免权限风险:sudo useradd -m -s /bin/bash coder;
4、切换至该用户:sudo -u coder -i;
5、生成初始配置目录:code-server --host 127.0.0.1 --port 8080 --auth password,首次运行将提示设置密码并生成~/.config/code-server/config.yaml。
三、通过systemd托管长期服务
将code-server注册为systemd服务可实现开机自启、日志管理与进程守护,适合生产环境持续运行。
1、创建服务定义文件:sudo nano /etc/systemd/system/code-server.service;
2、写入以下内容(注意替换<strong><font color="green">coder</font></strong>为实际用户名):
[Unit]
Description=code-server
After=network.target
[Service]
Type=simple
User=coder
WorkingDirectory=/home/coder
ExecStart=/usr/bin/code-server --config /home/coder/.config/code-server/config.yaml
Restart=always
RestartSec=10
[Install]
WantedBy=multi-user.target
3、重载服务配置:sudo systemctl daemon-reload;
4、启用开机自启:sudo systemctl enable code-server;
5、立即启动服务:sudo systemctl start code-server;
6、检查状态:sudo systemctl status code-server,确认显示active (running)。
四、配置反向代理与HTTPS访问
直接暴露code-server端口存在安全风险,需通过Nginx反向代理并绑定域名,同时启用TLS加密保障传输安全。
1、安装Nginx:sudo apt install -y nginx;
2、申请SSL证书(以Certbot为例):sudo apt install -y certbot python3-certbot-nginx;
3、配置Nginx站点文件:sudo nano /etc/nginx/sites-available/code-server;
4、填入反代配置(替换<strong><font color="green">your-domain.com</font></strong>为实际域名):
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /etc/letsencrypt/live/your-domain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/your-domain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:8080;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}
5、启用站点:sudo ln -sf /etc/nginx/sites-available/code-server /etc/nginx/sites-enabled/;
6、测试Nginx配置:sudo nginx -t,确认输出success;
7、重启Nginx:sudo systemctl restart nginx。
五、调整code-server安全策略
默认code-server仅监听本地回环地址,需显式放开外部访问控制,并限制认证方式防止未授权登录。
1、编辑配置文件:sudo -u coder nano /home/coder/.config/code-server/config.yaml;
2、确保包含以下字段(bind-addr必须设为0.0.0.0:8080才能被Nginx代理):
bind-addr: 0.0.0.0:8080
auth: password
password: your_strong_password_here
cert: false
3、禁用未加密HTTP访问,在配置中添加disable-telemetry: true;
4、修改密码哈希存储路径权限:sudo chmod 600 /home/coder/.config/code-server/config.yaml;
5、重启code-server服务使配置生效:sudo systemctl restart code-server。










