今日份学习——搭建在线编程环境
Part 1 开通阿里云ECS服务器
这一部分没什么好说的,按照教程指导就可以完成。注意要设置好实例安全组
安全组设置操作如下(官网ECS教程)
第三步如果找不到【添加安全组规则】选项,是因为你现在在新版本的页面下,切换成旧版本之后查看原网页就可以看到这个选项了。
Part 2 服务器管理软件
三大服务器管理软件
- 管理终端软件 ==PuTTY==:PuTTY是一个Telnet、SSH、rlogin、纯TCP以及串行接口连接软件。较早的版本仅支持Windows平台
- 文件传输软件 ==FileZilla==:FileZilla是一个免费开源的FTP软件,分为客户端版本和服务器版本,具备所有的FTP软件功能
- 代码编辑软件 ==Visual Studio Code (简称VSC)==:一个运行于 Mac OS X、Windows和 Linux 之上的,针对于编写现代 Web 和云应用的跨平台源代码编辑器
以上这三个软件都是需要提前安装好的
下载地址:
PuTTY下载链接: https://github.com/larryli/PuTTY/releases.
FileZilla下载链接: https://filezilla-project.org/download.php?type=client.
VSC下载链接: https://code.visualstudio.com/Download.
- PuTTY下的基本操作
安装完成后在PuTTY的解压安装目录下找到putty.exe的文件,双击打开,在[主机名称]处输入自己的ECS分配的公网IP地址,并保存一个新会话名为xuexi,如下图
双击保存的会话,输入密码后即可登入 SSH,用户名统一为 root ,密码为当初创建ECS设置的自定义密码,如下
刷新服务器( 在命令行界面点击右键即可粘贴并运行 ):
apt update
- Filezilla下的基本操作
打开FileZilla,依次输入sftp://你的公网ip地址 、 root 、 密码和端口号22,连接后就可以远程查看你的ECS服务器,并开始各种文件的远程上传和下载等编辑
- VSC下的基本操作
VSC的基本操作都很简单,因为他的界面简洁明了,在这里不再操作显示
Part 3 安装Docker容器环境
docker需要在64bit的系统上才能安装使用。
因此有两种方法安装docker环境,第一种就是直接选用阿里云镜像市场给我们配置好了的docker运行环境的镜像,具体操作如下:
需要首先停止你当前运行的实例,在配置信息下宣增更换操作系统,然后在阿里云的镜像市场中筛选信息为“docker运行环境”选择镜像
法一到此就可以了。
第二种方法则是同样需要我们更换操作系统为Ubuntu18.04 LTS作为我们运行docker的底层系统。之后,我们通过 Putty 连接服务器 后,进行docker安装
- 安装 Docker 环境
curl -sSL https://get.daocloud.io/docker | sh
这里我有过下载缓慢没下载成功的时候,可以用以下命令替换
apt install docker.io
- 安装 Docker-Compose 环境,其中 1.25.3 可以根据 最新版本 修改
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/dockercompose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
到此完成法二的docker的安装环境!
Part 4 部署WebIDE
创建项目文件夹:
-p /home/coder/project
- 在 Docker 中运行:
docker run -it -p 80:8080 --name code -v "/home/coder/project:/home/coder/project" codercom/code-server:latest
- Code-server 开始部署。
- 在 info 的信息中,有一行是 Password is xxxx 就是我们的保护密码,要记住。
但是从3中的图片我们可以知道该密码并没有显示出来,我们需要在 ~/.config/code-server/config.yaml中查看获取密码。
首先查看当前docker容器的信息,获得container id
docker ps -a
这里查看到我的进程号是7cabefc53faf
接着启动docker,再进入docker目录
docker start 7cabefc53faf
docker exec -it 7cabefc53faf /bin/bash
接下来通过cat就可以查看docker密码了
cat ~/.config/code-server/config.yaml
- 在浏览器中输入我们的公网IP http://你的公网IP,输入上面获得的密码,就可以看到浏览器中运行的VSC了!
Part 5 使用WebIDE
Code-Server 的使用和 Visual Studio Code一致,在这里就不再复述
相关术语
LAMP:LAMP(Linux-Apache-MySQL-PHP)网站架构是目前国际流行的Web框架,该框架包括:Linux操作系统,Apache网络服务器,MySQL数据库,Perl、PHP或者Python编程语言,所有组成产品均是开源软件,是国际上成熟的架构框架,很多流行的商业应用都是采取这个架构,和Java/J2EE架构相比,LAMP具有Web资源丰富、轻量、快速开发等特点,微软的.NET架构相比,LAMP具有通用、跨平台、高性能、低价格的优势,因此LAMP无论是性能、质量还是价格都是企业搭建网站的首选平台。
它指一组通常一起使用来运行动态网站或者服务器的自由软件:
Linux,操作系统;
Apache,网页服务器;
MySQL,数据库管理系统(或者数据库服务器);
PHP/Perl /Python,脚本语言。
Docker :Docker是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。
Coding WeblDE:Coding WeblDE(https://ide.coding.net) 是 Coding 自主研发的在线集成开发环境 (IDE)。用户可以通过 WebIDE 创建项目的工作空间,进行在线开发,调试等操作,同时 WebIDE 集成了 Git 代码版本控制,支持绝大部分 Git 托管。
Code-Server:code-server 是一个可以在远程服务器上运行 VS Code 的工具。
出现错误和解决方法
- 创建新Docker容器时出现“The container name "/xxx" is already in use by container xxxxxxxxxxx...”问题的解决办法
解决: https://blog.csdn.net/iw1210/article/details/84674936.
- 出现进程占用问题
用进程查看命令查看正在运行的进程,获得需要终止的进程的pid再用sudo kill命令结束进程,重新运行之前要运行的命令
ps aux | grep -i apt
sudo kill -9 要杀掉的进程号xx
- docker端口映射或启动容器时报错Error response from daemon: Container 17ae3dc98507daca0267a8673295ede4cf2d5d5... is not running
执行上述命令想进入某个容器时报了错误,原因是该容器未启动,用start命令启动,然后再重新执行命令即可成功进入容器
docker start 7cabefc53faf
docker exec -it 7cabefc53faf /bin/bash
解决: https://blog.csdn.net/lyc0424/article/details/103096922.