在大学期间,一次偶然的机会接触到了linux,所以从安装linux系统、学习使用linux的简单命令,到后来练习部署linux的各种服务器。从老师那里得知阿里云为我们大学生提供了免费的体验服务,可以体验真实的企业服务器环境。在这里我替所有的学生朋友感谢阿里云。少年当自强,少年强则国强。在大学期间,我不仅秉持着为自己、为父母的未来而奋斗,同时作为一名入党积极分子,我也无时无刻地激励自己。
我本次使用阿里云的ECS,安装了CentOS7,因为对这个版本比较熟悉。我做了简单的基于docker的Nginx服务部署,虽然还没有将自己的项目放在服务器上,虽然看起来很简单,但是这也是我的一个小目标,小成就。接下来我会一直学习和努力,持着必胜的决心去更深刻地了解和学习ECS的操作和原理。
对阿里云的体验:阿里云提供的控制台简化了许多繁琐的操作,比如说无需自己安装镜像,在控制台点几下就可以完成镜像的安装和更换。以及提供了额外的服务,例如安全组规则,能很好地保护我们的服务器不受攻击等等。这些都是阿里云为我们带来的便利。总的来说,ECS使用起来非常地方便和可靠。
以下是我在使用ECS时做的一个小案例。
1. 尝试连接到云服务器
我使用的连接软件为finalshell,比较适合初学者使用。新建一个ssh链接,输入服务器的公网ip以及用户名和密码。
直接打开链接,成功链接到服务器。
2. 在服务器上配置docker
----什么是docker?
docker,可以理解为容器,它帮助我们解决了各种应用的依赖问题,将每个应用都放在一个隔离容器去运行,避免了应用之间的相互干扰。依赖docker,我们可以很轻松地在一台服务器上部署各种应用,并且不用考虑依赖和兼容的问题。
安装docker
在centOS7上安装yum
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
更新本地镜像源
sudosed-i-e"s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
直接使用yum安装最新版本的docker
yum install -y docker
查看docker的版本
docker -v
启动docker
systemctl启动docker
systemctl start docker
查看docker的运行状态
systemctl status docker
配置阿里云镜像加速
可以参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
去阿里云的容器镜像服务,找到镜像工具,选择镜像加速器,选择对应的操作系统版本。直接根据官方的命令提示完成配置。
配置命令,其中registry-mirrors为加速器地址,可以根据自己的加速器地址替换
sudomkdir-p /etc/docker
sudotee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://XXXXX.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
至此,docker的基本配置已经完成。
尝试拉取镜像
尝试拉取一个Nginx镜像,因为我们已经配置了阿里云的加速器,所以在这里会比原先的速度快很多。
docker pull nginx
查看已经获取到的镜像
docker images
其中每个字段的含义为
REPOSITORY 镜像的NAME
TAG 镜像版本
IMAGE ID 镜像ID,此ID是唯一的
CREATED 创建的时间
SIZE 镜像文件的大小
删除下载的镜像
docker rmi docker.io/nginx:latest
对拉取到的镜像进行导入和导出操作
我们可以将拉取到的镜像保存在本地,打成一个tar。
创建一个目录用来保存我们的tar
cd /usr/
mkdir dockertar
使用命令将刚才拉取的Nginx镜像打包
docker save -o /usr/dockertar/mginx.tar docker.io/nginx:latest
我们先删除掉docker中的Nginx镜像
docker rmi docker.io/nginx:latest
查看是否删除成功,如果出现如下信息,说明已经删除成功,如果不放心我们可以再次查看docker的镜像列表。
查看镜像列表
docker images
可见,此时我们删除已经操作成功。
接下来,我们也可以把保存的镜像(刚才打的tar)重新加载到docker中。
docker load -i /usr/dockertar/mginx.tar
再次查看docker镜像列表
docker images
镜像加载成功!
使用docker创建并启动Nginx
完成了镜像的拉取以及相关操作,我们的目的是使用docker完成一个简单地web服务器部署,所以无疑要使web服务器在docker中运行。
创建并运行一个容器
docker run --name mynginx -p80:80 -d docker.io/nginx:latest
docker run --name [容器名] -p 服务器端口:docker端口 -d(后台运行) [镜像名:版本号]
查看运行中的容器
docker ps
我们可以在自己的客户机尝试访问部署的Nginx
http://[公网ip]:80/
--这里可以省略端口号80,因为访问时不输入端口号默认访问80端口。
出现如下页面证明访问成功
首次访问可能出现一些问题,例如云服务器的安全组配置出错,防火墙没有放开端口等等。
查看docker中的Nginx的访问日志
docker logs mynginx
动态查看日志,可以更直观地看到访问情况
docker logs -f mynginx
3. ECS的安全组规则配置
为什么要有安全组?
这是阿里云为用户提供的简单可靠的云服务器网络安全的工具。我们可以在可视化界面对我们的服务器出入规则进行配置。
通常情况下,我们对出方向(即云服务器访问Internet)不做配置,默认不受限制。
入方向的访问控制
首先我们需要创建一个安全组,然后将实例加入到安全组
即使在创建安全组的时候没有配置好端口的规则也没关系,在阿里云服务器控制台选择安全组,然后点击已存在的安全组即可进行安全规则配置。
tips
1.安全组相当于物理防火墙,例如Tomcat服务器的默认端口为8080,如果linux服务器系统的firewalld服务没有放行该端口,即使配置了安全组规则,外网依然无法访问到;
2.安全组规则可以指定放行的协议类型,各应用使用的协议类型不同,所以在配置时需要考虑到协议类型;
3.源,限制访问的地址,设置为0.0.0.0/0则认为允许所有地址访问。如果服务器只是作为一个后台,那么可以指定固定IP访问。
















