01 个人背景
本人是计算机专业研一的学生,由于项目过程中需要用到服务器,平时比较关注各云服务厂商相关的活动。经同学介绍,了解到了“飞天加速计划·高校学生在家实践”活动,第一时间参加并体验了这个活动。在体验期内,所申请的阿里云2核4G配置的ECS服务器,极大的方便了个人的学习和开发工作。整个活动的体验已经使用的感觉都很好。
活动地址:高校学生免费算力 - 飞天加速计划 (aliyun.com)
02 阿里云ECS使用攻略
1、进入ECS控制台
控制台首页:
2、创建实例
(1)点击创建实例,需要对实例进行一些配置。
(2)基础配置。首先选自定义购买,付费模式一般包年包月即可,地区随机分配也影响不大。
然后最重要的就是实例的规格。最主要的两个参数,核心数和内存容量。核心数内存越大价格越高,一般正常搭一个springboot的项目,1核2G就够了。但这次阿里云的活动直接提供了2核4G的ECS实例,性能算比较好了。
镜像选择(即创建服务器的操作系统):Linux有两大主流的分支,一个是CentOS和Ubuntu,根据个人系统选择稳定版本即可。我这里习惯使用Ubuntu 18.04。
剩下其他配置默认即可。
(3)网络和安全组配置
网络默认即可。勾选自动分配公网IPv4地址,带宽没有特殊需求,一般选1M固定带宽即可,带宽资源相对来说还是比较贵的,一般做视频和流媒体的才需要额外配置。
安全组:可以看做阿里云给提供的网络防火墙,可以配置端口的开发权限。默认是开放22端口(SSH连接使用)、3389端口。这个后期还可以配置,这里默认即可。
(4)系统配置。设置主机的名称,密码等。
登录凭证:
密钥的话需要生成密钥对,相当于锁和钥匙的关系,这种方式的安全性高,可以免去输入密码的麻烦,但是需要多一步密钥的配置。学习和简单的开发不建议使用。
自定义密码,自己设置密码,到后面远程连接的时候使用。简单便捷,建议使用。缺点是生产环境有密码泄露的风险。
实例名称:控制台看到的名称。
主机名:服务器的名称。
(5)分组配置。
当有多个服务器的时候,根据需要配置。
(6)确认订单
可以看到刚刚的一些配置,以及选择购买时长,确认费用之后确认下单。
3、使用Xshell工具远程连接到服务器。
下单之后回到我的资源中可以看到ECS实例的信息。xshell远程连接需要IP地址和刚刚设置的主机密码。
打开xshell软件,点击新建到如下窗口。协议选择ssh,主机填写服务器的ip地址,然后选中用户身份验证。
用户名一般默认的超级管理员为root,密码即为我们之前设置的密码。
配置完成点击确定即可。
点击连接,终端即可连接上远程的服务器。第一次连接会提示是否接受SSH的秘钥,保存接受即可。
连接成功之后会提示版本信息,ip信息。这样就可以通过命令行操作远程主机了。
4、安装常用的开发环境,以为Ubuntu 18.04为例。
(1)安装oracle的JDK
a、添加ppa
sudo apt install software-properties-common sudo add-apt-repository ppa:webupd8team/java sudo apt-get update
b、安装oracle-java-installer
sudo apt-get install oracle-java8-installer
安装器会提示你同意 oracle 的服务条款,选择 ok, 然后选择yes 即可
c、 设置系统默认jdk
sudo update-java-alternatives -s java-8-oracle
d、 如果即安装了jdk7,又安装了jdk8,要实现两者的切换,可以:
jdk8 切换到jdk7
sudo update-java-alternatives -s java-7-oracle
jdk7 切换到jdk8
sudo update-java-alternatives -s java-8-oracle
e、测试jdk是否安装成功:
java -version
(2)常用Linux命令
a、ls命令
就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录、文件夹、文件权限)查看目录信息等等
常用参数搭配:
ls -a 列出目录所有文件,包含以.开始的隐藏文件
ls -A 列出除.及..的其它文件
ls -r 反序排列
ls -t 以文件修改时间排序
ls -S 以文件大小排序
ls -h 以易读大小显示
ls -l 除了文件名之外,还将文件的权限、所有者、文件大小等信息详细列出来
实例:
(1) 按易读方式按时间反序排序,并显示文件详细信息
ls -lhrt
(2) 按大小反序显示文件详细信息
ls -lrS
(3)列出当前目录中所有以“t”开头的目录的详细内容
ls -l t*
(4) 列出文件绝对路径(不包含隐藏文件)
ls | sed "s:^:pwd
/:"
(5) 列出文件绝对路径(包含隐藏文件)
find $pwd -maxdepth 1 | xargs ls -ld
b、cd命令
(changeDirectory),命令语法:cd [目录名]。说明:切换当前目录至dirName
实例:
(1)进入要目录
cd /
(2)进入"家"目录
cd ~
(3)进入上一次工作路径
cd -
(4)把上个命令的参数作为cd参数使用。
cd !$
c、pwd命令
查看当前工作目录路径
实例:
(1)查看当前路径
pwd
(2)查看软链接的实际路径
pwd -P
d、mkdir命令
创建文件夹
可用选项:
-m: 对新建目录设置存取权限,也可以用chmod命令设置;
-p: 可以是一个路径名称。此时若路径中的某些目录尚不存在,加上此选项后,系统将自动建立好那 些尚不在的目录,即一次可以建立多个目录;
实例:
(1)当前工作目录下创建名为t的文件夹
mkdir t
(2)在tmp目录下创建路径为test/t1/t的目录,若不存在,则创建
mkdir -p /tmp/test/t1/t
e、rm命令
删除一个目录中的一个或多个文件或目录,如果没有使用- r选项,则rm不会删除目录。如果使用 rm 来删除文件,通常仍可以将该文件恢复原状
rm [选项] 文件…
实例:
(1)删除任何.log文件;删除前逐一询问确认
rm -i *.log
(2)删除test子目录及子目录中所有档案删除,并且不用一一确认
rm -rf test
(3)删除以-f开头的文件
rm -- -f*
f、mv命令
移动文件或修改文件名,根据第二参数类型(如目录,则移动文件;如为文件则重命令该文件)。
当第二个参数为目录时,可刚多个文件以空格分隔作为第一参数,移动多个文件到参数2指定的目录中
实例:
(1)将文件test.log重命名为test1.txt
mv test.log test1.txt
(2)将文件log1.txt,log2.txt,log3.txt移动到根的test3目录中
mv llog1.txt log2.txt log3.txt /test3
(3)将文件file1改名为file2,如果file2已经存在,则询问是否覆盖
mv -i log1.txt log2.txt
(4)移动当前文件夹下的所有文件到上一级目录
mv * ../
g、cp命令
将源文件复制至目标文件,或将多个源文件复制至目标目录。
注意:命令行复制,如果目标文件已经存在会提示是否覆盖,而在shell脚本中,如果不加-i参数,则不会提示,而是直接覆盖!
-i 提示
-r 复制目录及目录内所有项目
-a 复制的文件与原文件时间一样
实例:
(1)复制a.txt到test目录下,保持原文件时间,如果原文件存在提示是否覆盖
cp -ai a.txt test
(2)为a.txt建议一个链接(快捷方式)
cp -s a.txt link_a.txt
03 总结
以上就是我使用阿里云ECS的一些经验,总体来说还是比较容易上手的,只要简单了解服务器的一些相关的知识,很容易使用阿里云ECS搭建自己的个人站点。横向对比其他的云服务厂商,阿里云在易用性,稳定性,价格方面都有很大的优势。
除了阿里云ECS,阿里云还提供的很多其他的服务,像机器学习,函数计算,云数据库等,另外还有非常多比较成熟的API,对于中小开发者,无论你想搭建什么样的网络服务,阿里云都能够提供一套很好的解决方案,这大大降低了企业的构建服务的成本。
作为一个学生和开发者,未来将持续的关注阿里云的产品,以后也打算使用阿里云的相关产品搭建自己的服务。