当前位置:   article > 正文

武装服务器(二):云服务器配置Code-Server环境并运行Python和C++_code-server python

code-server python

1、前言

  云服务器需要配置C++开发环境,了解到有code-server这个VsCode提供的云端服务,因此选择在云服务器上部署。

2、部署流程

2.1 前置准备

  首先你的服务器需要有docker这个服务,安装教程见武装服务器(一):云服务器配置aliyundriver-webdav以及使用Aria2和Rclone挂载阿里云盘实现离线下载器

2.2 运行docker安装Code-Server

docker run -d --name code-server -p 1234:8080 --security-opt seccomp=unconfined --restart=unless-stopped \
-v "/mnt/AliyunDriver/BackUpFiles/VscodeWeb/.config:/home/coder/.config" \
-v "/mnt/AliyunDriver/BackUpFiles/VscodeWeb:/home/coder/project" \
-u "$(id -u):$(id -g)" \
-e "DOCKER_USER=$USER" \
codercom/code-server:latest
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

  这里注意几个参数-p 1234:8080--security-opt seccomp=unconfined以及--restart=unless-stopped

  • -p是映射端口,将容器中的8080端口映射到主机的1234,后面使用这个端口号,服务器IP:1234的形式就可以访问code-server。
  • –security-opt seccomp=unconfined 允许容器执行全部的系统调用,否则gdb会失效,原因暂时未知。
  • –restart=unless-stopped,让容器除非停止状态的时候停止,其它时刻都重启。
    如果没有配置--security-opt seccomp=unconfined,会导致gdb报下面的错误:
&"warning: GDB: Failed to set controlling terminal: Invalid argument\n"
Unexpected GDB output from command "-exec-run". During startup program exited with code 127.
  • 1
  • 2

  有的回答说和export SHELL= /bin/bash有关,在这里是不对的,这里是容器启动的code-server,所以应该和SHELL的环境变量没有太大的关系。

3、运行Code-Server

3.1 配置运行环境

  现在输入ip地址还不能直接进去,服务设置了密码。
  使用下例指令进入docker容器:

docker exec -it code-server bash
  • 1

  编辑配置文件:

vi ~/.config/code-server/config.yaml
  • 1

  修改passward。
在这里插入图片描述
  执行docker restart code-server,输入上面配置的IP地址和端口号就可以进去Code-Server服务了。

  进去之后和我们电脑使用的VsCode非常相似,首先安装中文语言包。
  点击插件按钮进入扩展市场,搜索chinese
在这里插入图片描述
  安装下面这个插件,按照提示重启就会变成中文界面。
在这里插入图片描述

3.2 运行Python

  Code-Server运行Python非常简单,新建.py文件后会自动提示下载python和jupyter,基本没什么流程就可以直接运行了,因此这里不重点叙述。
在这里插入图片描述
  需要注意的是jupyter notebook只会显示为空,因为我这里使用的是IP访问,是不安全的,会限制WEB视图以及复制粘贴功能,需要加密证书才可以正常使用。有使用反向代理或者是生成伪证书的方式来处理,这里还没研究,先记录下来。后续选择重新docker部署了jupyter notebook。

3.3 运行C++

  配置C++稍微繁琐一些,首先安装gcc以及gdb。执行:

sudo apt-get update
  • 1

  然后使用:

sudo apt-get install build-essential gdb
  • 1

  安装gdb,这里安装的gdb是linux版本的,安装后可以通过gcc -v看到当前gcc 版本。

  环境搭载还需要下载C/C++插件,这个插件在Code-Server上不能自动搜索到,所以通过下面链接下载,下载后通过网页直接传送到Code-Server,然后在文件右键安装扩展VSIX。
C/C++插件下载链接
在这里插入图片描述

  配置好运行环境之后就可以愉快的写C++了,新增一个.cpp文件后,点击左上角的三条横线,然后选择配置默认环境,选择C/C++:g++ 编译活跃文件,然后vscode会自动生成一个task.json文件。
在这里插入图片描述
  task.json文件我们需要替换为下面这个:

{
  "version": "2.0.0",
  "tasks": [
    {
      "type": "shell",
      "label": "g++ build active file",
      "command": "/usr/bin/g++",
      "args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"],
      "options": {
        "cwd": "/usr/bin"
      },
      "problemMatcher": ["$gcc"],
      "group": {
        "kind": "build",
        "isDefault": true
      }
    }
  ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19

  内容差不多相同,只需要注意

"args": ["-g", "${file}", "-o", "${fileDirname}/${fileBasenameNoExtension}"]
  • 1

  替换后面为"${fileDirname}/${fileBasenameNoExtension}"
  这时候点击运行C++代码已经会生成可执行文件了。

  然后再配置调试文件lauch.json
在这里插入图片描述
  选择添加gdb调试,会自动生成文件lauch.json。
  我们需要修改的还是类似项目位置,注意修改:
   "program": "${fileDirname}/${fileBasenameNoExtension}"

{
  "version": "0.2.0",
  "configurations": [
    {
      "name": "g++ build and debug active file",
      "type": "cppdbg",
      "request": "launch",
      "program": "${fileDirname}/${fileBasenameNoExtension}",
      "args": [],
      "stopAtEntry": false,
      "cwd": "${workspaceFolder}",
      "environment": [],
      "externalConsole": false,
      "MIMode": "gdb",
      "setupCommands": [
        {
          "description": "Enable pretty-printing for gdb",
          "text": "-enable-pretty-printing",
          "ignoreFailures": true
        }
      ],
    }
  ]
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24

在这里插入图片描述
  可以看到已经正常启动而且能够调试了。

参考文章:

1.如何在 Linux 系统中的 VS Code 上配置 C/C++ 环境

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/153379
推荐阅读
相关标签
  

闽ICP备14008679号