linux安装codeserver实现云端开发

news2024/11/24 14:18:53

 先看图

下载安装包

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,添加指定的文件夹即可,就看不见了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1366799.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

selenium对于页面改变的定位元素处理办法

在学习selenimu中,总是发现元素定位不到,想了各种办法,最后总结大致有两个原因。 1.等待时间不够,页面还没有完全渲染就进行操作,使用time模块进行等待。 2.换了页面后,发现定位不到元素,因为…

外包做了1个月,技术退步一大半了。。。

先说一下自己的情况,本科生,20年通过校招进入深圳某软件公司,干了接近4年的功能测试,今年年初,感觉自己不能够在这样下去了,长时间呆在一个舒适的环境会让一个人堕落!而我已经在一个企业干了四年的功能测试…

新颖度爆表。网络药理学+PPI+分子对接+实验验证

今天给同学们分享一篇生信文章“The convergent application of metabolites from Avena sativa and gut microbiota to ameliorate non-alcoholic fatty liver disease: a network pharmacology study”,这篇文章发表在J Transl Med期刊上,影响因子为7.…

LeetCode-58/709

1.最后一个单词的长度(58) 题目描述: 给你一个字符串 s,由若干单词组成,单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 思路&…

如何创建容器搭建节点

1.注册Discord账号 https://discord.com/这是登录网址: https://discord.com/ 2.点击startnow注册,用discord注册或者邮箱注册都可,然后登录tickhosting Tick Hosting这是登录网址:Tick Hosting 3.创建servers 4.点击你创建的servers,按照图中步骤进行

Android性能优化系列——内存优化

内存,是Android应用的生命线,一旦在内存上出现问题,轻者内存泄漏造成App卡顿,重者直接crash,因此一个应用保持健壮,要做好内存的使用和优化。网上有很多讲JAVA内存虚拟机的好文章,我就不赘述了。…

嵌入式-C语言-江科大-指针的详解与应用

文章目录 一:计算机存储机制二:定义指针三:指针的操作四:数组与指针五:指针的应用道友:最清晰的脚印,踩在最泥泞的道路上。 推荐视频配合我的笔记使用 [C语言] 指针的详解与应用-理论结合实践&a…

2024年了,难道还不会使用谷歌DevTools么?

我相信您一定对Chrome浏览器非常熟悉,因为它是前端开发者最亲密的伙伴。我们可以使用它查看网络请求、分析网页性能以及调试最新的JavaScript功能。 除此之外,它还提供了许多功能强大但不常见的功能,这些功能可以大大提高我们的开发效率。 让我们来看看。 1. 重新发送XHR…

网络流量分析与故障分析

1.网络流量实时分析 网络监控 也snmp协议 交换机和服务器打开 snmp就ok了 MRTG或者是prgt 用于对网络流量进行实时监测,可以及时了解服务器和交换机的流量,防止因流量过大而导致服务器瘫痪或网络拥塞。 原理 通过snmp监控 是一个…

pyside6 界面美化库的使用

使用qt_material库,在库中进行导入后,直接使用库提供的皮肤即可非常简单 example: # -*- coding: utf-8 -*- # 使用例子 import sys # from PySide6 import QtWidgets # from PySide2 import QtWidgets from PySide6 import QtWidgets from…

CreateDIBSection失败的问题记录

错误记录 [ERROR] (:0, ): QPixmap::fromWinHICON(), failed to GetIconInfo() (操作成功完成。) [ERROR] (:0, ): QPixmap::fromWinHICON(), failed to GetIconInfo() (参数错误。) [ERROR] (:0, ): QPixmap::fromWinHICON(), failed to GetIconInfo() (参数错误。) [ERROR] …

安卓上使用免费的地图OpenStreetMap

前一段使用了微信的地图,非常的好用。但是存在的问题是海外无法使用,出国就不能用了; 其实国内三家:百度,高德,微信都是一样的问题,当涉及到商业使用的时候需要付费; 国外除了谷歌…

每天刷两道题——第十天

1.1和为k的子数组 给你一个整数数组 n u m s nums nums 和一个整数 k k k ,请你统计并返回 该数组中和为 k k k 的子数组的个数 。子数组是数组中元素的连续非空序列。 输入:nums [1,2,3], k 3 输出:2 前缀和 1.2如何使用 前缀和的…

【Linux Shell】1. 简述

文章目录 【 1. Shell 解释器、Shell语言、Shell脚本 】【 2. Shell 环境 】【 3. 一个简单的 Shell 脚本 】3.1 Shell 脚本的编写3.2 Shell 脚本的运行3.2.1 作为可执行程序运行 Shell 脚本3.2.2 作为解释器参数运行 Shell 脚本 【 1. Shell 解释器、Shell语言、Shell脚本 】 …

基于WIFI指纹的室内定位算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1WIFI指纹定位原理 4.2 指纹数据库建立 4.3定位 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .....................................…

开发小技巧 - 合理使用Visual Studio 2022内置任务列表(TODO)

前言 在开发编码过程中经常会因为各种问题而打断自己的思绪和开发计划,可能会导致本来准备开发或者需要测试的功能到要上线的时候才想起来没有做完。这种情况相信很多同学都遇到过,咱们强大的Visual Studio内置了一个任务列表(TODO&#xff…

使用使用maven后jstl标签库无法使用

创建maven项目后配置了jstl标签库的依赖,但是一直不行,jsp页面还是原样给我输出,然后去网上找了许多办法,类似于配置文件之类的,结果发现对我并没有什么用,还是原样输出 然后就各种查找,发现了一…

rosbag 源码阅读笔记-1

这篇文字想通过在自己的机器上查找rosbag的源码在哪里(而不是通过google搜索),来和大家分享一些ros和python的常用命令,了解一下rosbag的调用过程。 怎么查到源码在哪里 当然我们可以直接上ros的官网去查看,路径在这…

Tmux 使用小记

本文参考自 阮一峰老师Tmux 使用教程[1] Tmux,不仅仅是分屏那么简单。。。 与tmux类似的工具是screen 会话管理 将窗口与会话"解绑" 对于没有图形界面只有shell的场景(如服务器),尤其有用..这是其最核心解决的问题(窗口管理啥的只能算锦上添花的辅助功能)…

1.7~1.8数算总复习PART1

偶数结点就一定是左孩子,奇数结点就一定是右孩子,判断两相邻编号的两节点是否为兄弟,就看他们除以2后的结果是否相同即可 由于先序遍历是“根――左子树――右子树”,而后序遍历是“左子树――右子树――根”,若某二叉…