云端IDE
294 字·
0
·
0
·
code-server简介 #
- vscode 是一款轻量级但功能强大的源代码编辑器,适用于 Windows、macOS 和 Linux。
- 支持C++、C#、Java、Python、PHP、Go等等众多语言。
- 致力于在任何地方的任何机器上运行VS Code并在浏览器中访问它。
- 官方文档: code-server
- 软件包: code-server
服务器要求 #
- 1 GB 内存
- 2 个 CPU 内核
- 环境必须启用 WebSockets,因为代码服务器使用 WebSockets 在浏览器和服务器之间进行通信。
吞吐量 #
- 读取:3000 IOPS,50 MB/s
- 写入:3000 IOPS 50 MB/s
部署云端code-server #
系统环境 #
$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
用户环境 #
]# useradd code
]# echo "password" | passwd --stdin code #"password" 为code用户登录密码
部署nginx环境 #
## nginx repo 源
]# vim /etc/yum.repos.d/nginx.repo
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/7/$basearch/
gpgcheck=0
enabled=1
---------------------------------------------------------
]# yum repolist
## 安装nginx
]# yum -y install nginx
## 转发配置
]# vim /etc/nginx/conf.d/default.conf
server {
listen 80;
listen 443 ssl;
server_name domain;
ssl_certificate cert/cert-file-name.pem; #需要将cert-file-name.pem替换成已上传的证书文件的名称。
ssl_certificate_key cert/cert-file-name.key; #需要将cert-file-name.key替换成已上传的证书私钥文件的名称。
ssl_session_timeout 5m;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
#表示使用的加密套件的类型。
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3; #表示使用的TLS协议的类型。
ssl_prefer_server_ciphers on;
if ( $server_port = "80" ) {
rewrite ^(/.*)$ https://$host$1 permanent;
}
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade; # 设置websocket
proxy_set_header Connection upgrade;
proxy_set_header Accept-Encoding gzip;
}
}
## 检查配置文件语法
]# nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
开始部署code-server #
# 切换普通用户
]# su - code
# 下载软件包
]$ wget https://github.com/cdr/code-server/releases/download/v3.12.0/code-server-3.12.0-linux-amd64.tar.gz
# 解包
]$ tar xf code-server-3.12.0-linux-amd64.tar.gz && mv code-server-3.12.0-linux-amd64 code-server && cd code-server/
# 编辑配置文件
]$ vim config.yaml
bind-addr: 127.0.0.1:8080
auth: password
password: [password] # 此处为code-server登录密码
cert: false
]$ logout # 退出普通用户环境
配置code-server服务 #
]# vim /usr/lib/systemd/system/code-server.service
[Unit]
Description=code-server
Documentation=https://docs.cloudreve.org
After=network.target
Wants=network.target
[Service]
ExecStart=/home/code/code-server/bin/code-server --config=/home/code/code-server/config.yaml
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
]# systemctl daemon-reload # 加载服务配置
添加sudo提权 #
]# vim /etc/sudoers
code ALL=(ALL) /bin/systemctl, /bin/netstat, /bin/ps, /usr/sbin/nginx
切换普通用户起服务 #
]# su - code
]$ sudo systemctl start code-server
[sudo] password for code: # 此处输入code 用户密码
]$ sudo systemctl enable code-server
[sudo] password for code: # 此处输入code 用户密码
]$ sudo nginx
[sudo] password for code: # 此处输入code 用户密码