1、目的
了解云服务器和容器相关概念和理论[
]。
掌握docker,nginx,DevStudio的测试和分析技术。
掌握Gitee代码仓库的创建和应用。
实现理论与实践相结合;培养学生分析和解决实际问题能力。
2、运行环境
硬件要求:阿里云云主机ECS 一台。
软件要求:Linux/ Windows 操作系统
3、研究问题
3.1创建服务器,部署docker容器(其中包含了nginx)
3.2在gitee创建代码仓库,将本机与代码仓库相连
下载git ,用git bash 在本地创建仓库,在gitee创建代码仓库,并在git命令行中相连。实现本地代码更新到代码仓库,仓库代码下载到本机。
3.3调试DevStudio,在DevStudio中与gitee仓库相连,将代码导入DevStudio
3.4配置DevStudio编译环境,实现c++的编译与运行。
3.5将DevStudio的代码下载到本地。
4、研究结果与讨论
4.1创建服务器,部署docker容器(其中包含了nginx)
1.创建一个云服务器实例。
常用的的环境配置,阿里云都有配置教程
什么是Docker
docker是一个用来装应用的容器,就像杯子可以装水,笔筒可以放笔,书包可以放书,可以把hello word放在docker中,可以把网站放入docker中,可以把任何想得到的程序放在docker中。
什么是Nginx
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,专为性能优化而开发,性能是其最重要的考量,实现上非常注重效率,能经受高负载的考验,有报告表名能支持高达50000个并发连接数。
2.配置docker环境
1)安装Docker的依赖库
yum install -y yum-utils device-mapper-persistent-data lvm2
安装完成
2)添加Docker CE的软件源信息。
3)安装Docker CE。yum makecache fast
4)启动Docker服务。systemctl start docker
5) 查看Docker镜像仓库中Nginx的可用版本。docker search nginx
6)查看本地镜像。docker images
7) 运行容器。docker run --name nginx-test -p 8080:80 -d nginx
命令参数说明:
--name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地8080端口映射到容器内部的80端口。
-d nginx: 设置容器在后台一直运行。
4.2在gitee创建代码仓库,将本机与代码仓库相连,在网页进行新文件的创捷的编写
1.安装git要使用gitee,需要先安装git工具。
2.安装git好后,在命令行输入git查看
3.登录gitee
我们先在 gitee上注册账号并登录。
4.配置git
5.和本机用ssh链接
6.使用Git Bash Here创建一个仓库
7.上传文件到仓库
8.在线编辑器Web IDE
9.云端代码下载到了本地
原文件夹新文件夹
10.本地文件更新到仓库(上传EMP文件夹)
4.3部署调试DevStudio,在DevStudio中与gitee仓库相连,将代码导入DevStudio
1.进入DecStudio,新建个人空间
2.选择git仓库
3.与仓库进行配对
4.部署并使用
DevStudio在DevStudio的终端,运行以下命令,克隆Gitee代码平台上的代码。
将代码克隆到/home/admin/workspace目录下。
cd /home/admin/workspace
clone代码
git clone git@github.com:aliyundevstudio/springboot-demo.git
配置开发者账号
cd springboot-demo
git config user.name test001
git config user.email username@example.com
4.4配置DevStudio编译环境,实现c++的编译与运行,且完成域名访问IDE。
1.安装插件
DevStudio本身是一个通用的IDE平台,使用它进行代码的开发,一般需要安装一些语言(例如Java)的VSCode插件,以辅助开发工作。本文以Java语言为例,Java语言依赖的插件一般是Language Support for Java(TM) by Red Hat,该插件会提供Java代码的高亮、语法提示、语法交叉索引、代码运行等能力。目前该插件已经内置在DevStudio中,您可以直接使用。同时,DevStudio对接了VSCode插件市场,您也可以在DevStudio中直接进入VSCode插件市场,搜索并安装所需的插件。
2.编写代码进行测试
3.Preview插件是DevStudio内置的插件,可以将DevStudio中运行的程序的TCP端口,通过一个域名暴露出来,您可以通过该域名对程序进行联调测试。
1)在工作空间中,单击示例代码文件中的README.md。
2)在菜单栏中,选择终端 > 新终端
3)根据README.md文件中的提示,运行以下命令,启动服务。
npm install
node app.js
4)在页面右上角,单击眼睛图标,打开服务预览面板。
5)输入端口号后,单击确认。本示例默认端口号为8080。系统会自动分配一个子域名,并在浏览器的新页签中打开预览页面,等待3~5秒后刷新页面
4.将DevStudio的代码放入仓库
4.5设置端口将DevStudio的代码下载到本地。
1.可以打包所有代码到本地进行下载
5、总结
通过这次计算机网络大作业,了解了云服务器和容器相关概念和理论,掌握了docker,nginx,DevStudio的测试和分析技术,掌握了Gitee代码仓库的创建和应用,实现了在线编程的功能。在网络上寻找,选择在线编译器时,出现了很多的问题,我们一开始想使用容器化的WebIDE用命令:git clone ,部署但是提示失败,且ping不同这个网页。后面尝试下载到本机用Xftp传到云主机,但是本机也是无法访问。至此就打算换一个WebIDE。
凑巧发现阿里云的有在线编辑器DevStudio,便打算使用这个。但是在链接仓库时,只在DevStudio中加入了仓库的ssh,没有将DevStudio的2048bit SSH KEY 安置到仓库中,导致完全看不懂的错误,且网络上也没参考。
我们只好加入预留的钉钉群,进去反映。群里的研发人员通过日志查出了这个错误,添加好ssh key到仓库就能用了。目前DevStudio在公测阶段,所以问题还是不少。后面有遇到了打不开的问题。一直在和阿里的研发人员进行交流。