先看图
下载安装包
https://github.com/coder/code-server/releases
找到code-server-版本号-linux-amd64.tar.gz,我这里是code-server-4.16.1-linux-amd64.tar.gz
1、使用acrm用户登录目标服务器
2、切换root用户,创建 vscode 用户,并设置密码
useradd vscode
passwd vscode
3、切换到vscode用户,上传code-server-4.16.1-linux-amd64.tar.gz
(1)直接解压/home/vscode/下,并改名为code-server
tar -xvf code-server-4.16.1-linux-amd64.tar.gz
mv code-server-4.16.1-linux-amd64 code-server
(2)将配套的两个shell文件也都放到/home/vscode/code-server/目录下
启动脚本start.sh
NAME='code-server'
echo "clean old $NAME process"
for i in `ps -ef|grep $NAME | grep -v grep |awk '{print $2}'`;
do kill -9 $i ;
done;
echo "start $NAME process"
setsid nohup /home/vscode/code-server/bin/code-server > /home/vscode/code-server/console.log 2>&1 &
echo 'code-server start success!'
tail -f /home/vscode/code-server/console.log
停止脚本stop.sh
NAME='code-server'
echo "stop $NAME process"
for i in `ps -ef|grep $NAME | grep -v grep |awk '{print $2}'`;
do kill -9 $i ;
done;
echo 'code-server is stoped!'
执行启动脚本, sh start.sh code-server会在用户文件夹下生成配置文件, .config/code-server/config.yaml 打开该文件修改其内容
初始:
bind-addr: 127.0.0.1:8080
auth: password
password: d86f0acd3a7b244b41894d61
cert: false
小白就修改 第一个bind-addr和第三个password就行。
bind-addr设置了访问的ip来源,初始化的这个只允许127.0.0.1的来源访问,也就是本机如果想要周边地址访问,就需要配置成对应的ip加端口或者,配置成0.0.0.0:8080为全部开放访问 password设置登录密码
再次执行启动脚本,测试 curl -i http://localhost:8080/ ,查看是否有内容
浏览器访问 http://ip:8080/ ,如果访问不通,说明防火墙端口没开放
systemctl stop firewalld
(3)安全
此时code-server访问安全存在隐患,只有一个密码,如果是公司内网的话,可走nginx代理,代理加上如下这段代码,限制ip来源访问,如果是这样,就无需设置bind-addr配置
location /codeserver/{allow 192.168.1.1; # 允许指定IP访问allow 192.168.1.2;allow 192.168.1.3;deny all; # 除allow的ip,禁止其他任何ip访问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; }
4、代码空间创建 ,在/home/vscode/下创建workspace文件夹,在里面创建项目使用即可。
5、访问地址,输入密码,进入后,如果提醒错误,一直让reload加载,说明nginx代理存在一些问题,可通过nginx流代理解决
stream{upstream codeserver{hash $remote_addr consistent;server localhost:8080 max_fails=3 fail_timeout=30s;}server {listen 8081 so_keepalive=on;proxy_pass codeserver;} }
6、依赖库隔离,减少资源占用,比如node_modules文件夹基本不查看修改,也不会检索,如何屏蔽?、
vscode打开设置,搜索Files: Exclude,添加指定的文件夹即可,就看不见了