编程崽

登录

一叶在编程苦海沉沦的扁舟之上,我是那只激情自射的崽

阿里云简略使用

阿里云简略使用

使用阿里云服务,首先进行注册:阿里云服务官网

注册完成后,我们的主要操作需要在阿里云网站的「控制台」页面进行,通过官网顶部菜单进入,或者:控制台

控制台首页展示一些最近使用和帮助文档连接、公告、快报等等,我们需要点击左上角菜单按钮,左侧会出现悬浮边栏,展示一些常用产品,比如「云服务ECS」、「对象存储OSS」、「域名」等等,如果没有,鼠标放在「产品与服务」上面,右侧会再展开列表,展示了所有的阿里云服务产品,选择自己需要的即可。

ECS服务器

这个服务器就是线上服务器,web服务、接口服务、数据库、ftp服务、文件系统等等都可以做,最常用的还是用来做web服务器和接口服务器。

通过侧边栏,进入「云服务器ECS」产品页面。

点击创建实例(一个实例就是一个服务器),跳转到ECS服务器购买页面,在这里可以选择购买的配置,分为下面几步:

  • 基础配置,选择服务器的付费模式、地域、类型、系统、存储空间大小、购买时长等等,会对应不同的价格
  • 网络和安全组,选择网络类型、宽带计费模式、带宽值等等
  • 系统配置(选填),选择登陆方式、实例名称、描述、主机名等等
  • 分组设置(选填),标签、资源组、部署集等等
  • 确认订单,综合展示一下前面几部中你的选择和配制,询问是否保存为购买模板、统一购买协议等等
  • 下单,支持很多种支付方式

购买完成后,你的「云服务器ECS」-「实例与镜像」-「实例」中,就会出现一个实例。

注意,页面顶部栏会有一个选择地域的下拉菜单,这里的实例列表,只会展示你选中的地域的实例,如果明明自己买了实例,但实例列表又没有,就检查一下顶部栏的地域设置吧

实例的「IP地址」一栏,会写明这个服务器的公网ip和内网ip,可以通过公网ip对服务器进行远程连接,或者也可以使用之前选中的登录方式,远程使用自己本地电脑的终端进行连接登录,操作服务器。

这个实例,同样也会出现在「云服务器ECS」-「网络与安全」-「安全组」中,这是对实例的网络安全相关的一些配置,像配置哪些端口可以外网访问、禁止哪些端口,都是在这里,所以有时候当一些端口,比如进行远程连接的3389端口、web访问的http的80端口、https的443端口、MySql默认的3306端口、ftp服务的21端口,如果外网无法访问,可以来这里看一下。

开放端口

服务器中启动的一些服务会占用端口,正常外部可以使用服务器ip:服务端口号来访问这个服务器的某个端口的服务。

但阿里云配置了防火网,屏蔽了这些端口,让外部无法访问这些端口,为了让外部能够访问、服务器一些服务正常运行,比如web服务(80和443端口)、mySql(默认3306端口)、git服务(默认22端口)等等,我们需要手动开启这些有用到的端口。

阿里云的防火网,默认也并没有把全部端口关闭,而是开放了常用的一些端口,可以自行去查看,不过当遇到自己访问服务器的某个端口无法成功时,可以考虑一下是否是服务器端口未开放的原因。

开放端口访问:

使用阿里云网站,进入到「云服务器 ECS」的管理页面,侧边栏的「网络与安全」中找到「安全组」,点击进入。

找到想要修改端口访问限制的那个服务器,点击进入。

在「安全组规则」页的「访问规则」列表,「入方向」的下面,点击「手动添加」,可以按照规则配置开放的端口的范围,很简单。

「出方向」一般不用管,至少使用 git、数据库,或者配置ftp、ssh工具什么的,都不需要动「出方向」。

域名

如果没有域名,那当我们部署了一个网站,需要靠输入服务器ip+端口号来访问,在外人看来根本就是一个半成品,还不容易记忆,一部分服务还因此无法使用,所以域名是必不可少的。

购买步骤:

通过侧边栏,进入「域名」页面。

首页会展示已买的域名列表,也可以点击「域名注册」、「域名转入」、「购买二手域名」等操作添加域名,这里点击「域名注册」

搜索自己想要的域名,非常用域名(比如自己瞎编的)和非常用的顶级域名,一般都会很便宜,一般一年也就几十块钱。

注意,购买域名,购买的是「二级域名.顶级域名」,比如「www.baidu.com」,他的域名是「baidu.com」,而前面的「www」,只是给「baidu.com」添加的一条解析记录而已,自己也可以添加aaa这个记录,那样可以使用 aaa.baidu.com 这个域名了。

点击一个加入清单,并去立即结算,会进入确认订单页,让选择购买年限,和推荐购买的一些服务,比如「国内短信套餐包」、「SSL证书」(HTTPS服务)等等。

勾选服务协议,立即购买,支付。

备案步骤:

回到域名列表,出现你刚刚购买的域名,根据工信部要求,域名想要正常解析,必须先进行实名认证。

如果这个域名想用于web网站服务,那最好对这个域名进行备案,否则网站可能会被拦截,提示必须备案什么的,备案会比较麻烦,需要使用专门用于备案的背景,给域名持有者拍照,提交等等,用于备案的背景可以向阿里云申请,那边会快递过来这个纸质的背景,自己按要求拍照上传,等待审核通过即可。

使用步骤:

域名进行实名认证和工信部备案后,就可以开始配置解析了。

点击「解析」,展示这个域名所有的解析记录,比如上面的www、aaa等,就是一条解析记录。

点击添加记录,配置记录类型(默认的A-记录就是正常的网站,其他的可以自己百度了解)、主机记录(三级域名,也就是上面的www、aaa,这里可以自由拼写其他的合规的字符)、解析线路、记录值(服务器公网ip,比如「36.35.64.43」),TTL,配置完成后点击确认,即可添加这个解析。

注意,添加记录时,记录值(服务器的公网ip)并没有写端口,这里允许多个解析到同一个ip的,比如「aaa.baidu.com」和「bbb.baidu.com」都解析到「36.35.64.43」的80端口(80端口是HTTP协议的端口),这时就需要配置我们服务器中的web服务了,比如我用的是nginx,nginx通过监听80端口,拦截到外部过来的「aaa.baidu.com」和「bbb.baidu.com」这两个http请求,nginx可以通过配置,针对性的判断请求的完整域名,来指向不同的文件夹,返回不同的项目,也就能展示不同的页面了。

HTTPS的SSL安全证书申请和使用

HTTP服务是不安全的,打开HTTP的网站时甚至浏览器都会先拦截一下,提示网站不安全是否继续打开,所以我们需要给域名配置一下HTTPS,这样别人访问起来才更安心:

购买、创建证书:

在侧边栏的「产品与服务」搜索「SSL」找到服务,或者直接点击后面的地址跳转:SSL证书

可见SSL证书页面,有五个小页签:证书管理、免费证书、上传证书、CSR管理、订单管理,这里演示如何申请免费证书,点击进入免费证书页签。

免费证书页签中,下面有「立即购买」和「创建证书 20/20」,搜索可知,一个阿里云账户一年内的免费额度为20个,超过的话也是需要付钱。

「立即购买」可以批量创建,「创建证书」点一下会创建一个,这里直接点击「创建证书」,下面的列表中会出现一个新证书(免费证书有效期只有一年,到期不能续费只能重新购买、重新配置)。

此外,也可以在「证书管理」页签中,购买收费的证书,右会侧展开购买证书侧边栏:

  • 域名类型,分为「通配符域名」和「单个域名」:
    • 通配符域名:针对「二级域名.顶级域名」生效,也就是说,只用购买配制这一次,这个域名下所有的解析,全都自动使用了HTTPS。
    • 单个域名:针对「三级域名.二级域名.顶级域名」生效,也就是针对每个解析生效,比较麻烦,没配制一个解析,想让它使用HTTPS,就需要再购买一次、配置一次。
  • 证书类型、证书登记、证书品牌等等。

购买证书是需要花钱的,正常来说还不便宜,次点的一年几百,好点的一年几千,自由学习研究状态的开发者使用麻烦一点但是免费的证书就足够了,大不了就是一年换一次呗。

证书申请:

刚创建的免费证书的状态列的值「已签发」,需要点击操作列的「证书申请」,点击后出现侧边栏:

  • 证书绑定域名:填写这个证书用给哪个域名,按要求填写即可。
  • 域名验证方式:是证书服务器验证这个域名是否真的属于你,是不是受你控制的,默认手动DNS验证即可。
  • 联系人,添加联系人即可。
  • 所在地,我填写的是服务器和我本人的所在地,这一项貌似不重要。
  • CSR生成方式,CSR文件是您的公钥证书原始文件,包含了您的服务器信息和您的单位信息,需要提交给CA认证中心审核,默认不动这一样即可。

点击下一步,加载完成后这个侧边栏内容被提交,展示新内容。

新内容中有一个「验证」按钮,如果你上一步的域名也是阿里云购买的,那这里直接点验证按钮就行(阿里云已经自动给你的域名解析页面,添加了一条用来验证这一步的域名解析)。

如果没有验证通过,则需要你按照提示,手动去配置自己证书绑定域名的解析。

手动配置的大致步骤为,自己新页面打开阿里云的域名,找到自己要绑定证书的域名,点击后面的解析,进入域名解析页面。

然后点击「添加记录」,以下几项要按照侧边栏的提示内容配置,比如记录类型、主机记录、记录值。

最后提交,这条配置添加完成,可以回去点击验证按钮了。

最后点击验证按钮验证完成后,点击侧边栏最下面的提交审核,返回证书列表,证书的状态变成已签发。

部署证书:

证书的状态变成已签发后,就可以使用这个证书了,也就是部署证书。

部署证书的步骤,一种比较简单,就是给自己在阿里云使用的服务部署,比如给「对象存储OSS」服务部署证书,可以直接在证书列表页,点击操作列的「部署按钮」,会调整到证书部署页面,可以在「资源列表」的下拉框中,寻找到自己要使用证书的服务,选中,然后部署这个证书,完事。

另一种比较麻烦了,比如在ECS中的自己的那些页面、接口们,就需要往下看了。

部署方法,不同的web服务代理有不同的步骤,nginx的具体官方文档是:在Nginx或Tengine服务器上安装证书,其他的也可以再文档页面中找到,使用nginx版本的大致步骤为:

  • 点击证书后面的下载,下载压缩包,解压后是两个文件。
  • 远程连接服务器,找到nginx安装位置,或者自选其他位置也行,创建文件夹,上传这两个文件。
  • 打开对应的web项目的nginx配置,粘贴并修改文档给出的nginx配置文档,最后重启nginx,即可生效。
  • 其中http自动转https的功能,文档中也有介绍,可自行查看。

至此https服务配置完成,注意,如果web网站使用了https服务,而它页面中调用的接口仍然是http,浏览器会拦截请求,导致接口调用失败,所以如果使用https,那么就应该全站包括接口,都配置并使用https

OSS对象存储

我们的网站,偶尔会有上传文件的需求,比如上传用户头像、上传用户自定义图片,我自己的文档网站中,md格式的文档需要插入图片,也就有了上传图片需求。

虽然服务器本身就是一个有硬盘的系统,也可以存储,但分开存储,专事专干,更加规范,而且选择合适的收费标准、宽度服务,能提速省钱

创建存储空间:

在侧边栏的「产品与服务」搜索「对象存储oss」找到服务,或者直接点击后面的地址跳转:对象存储

点击「Bucket 列表」,创建Bucket,一个Bucket就是一个存储空间,不同的Bucket可以配置不同的地域、存储类型、读写权限、加密方式等等

配置完自己所需配置,确定后,Bucket列表中出现这个存储空间,点击进入。

单个Bucket的管理页面中,有多个可配置项,比如权限管理(私密、公共读、公共写)、基础设置、冗余与容错、传输管理等等

可以在当前页面、Oss软件、ajax接口、文档来上传文件,阿里云会自动生成这个文件的访问url

阿里云建议给每个Bucket绑定一个你自己的域名,而不是直接使用它提供的域名,否则使用时可能会出现一些问题(比如直接把图片链接用浏览器打开,死活都是直接下载,而不是预览图片)

每个文件,都支持设置响应头来控制

访问权限管理:

官方建议权限管理为私密,否则会一直有黄字提示,但设置为私密后,默认情况外网无法再访问图片了,即使在文件管理页点击文件,拿到可公开访问的文件url,它也是有访问的时间限制的,约等于不能公开访问。

这时,想外网访问,需要点击权限管理,这里就是文件读写的一些权限配置。

  • 读写权限,设置Bucket的权限,私有、公共读还是公共读写
  • Bucket 授权策略,基于资源的授权策略,点击设置,右侧出现悬浮窗口,可以新增授权,配置谁可以访问,谁不可以 访问等等,比如按照以下配置,可以配置为所有人可访问
    • 授权资源,选择「整个Bucket」
    • 授权用户,选择「匿名账号」
    • 授权操作,只读
  • 访问控制 RAM,基于用户的授权策略,点击会跳转到「RAM 访问控制」模块页面,让你自己创建个用户,再给这个用户指定授权,指定了OSS权限,自然也就有权限了
  • 防盗链,这里可以通过设置「Referer」,来指定哪些域名的网站能拿到图片,哪些又不能
  • 跨域设置,顾名思义,这是来解决跨域问题的,我当前值涉及到图片的存取,不存在跨域问题,也就暂是没有研究这一项

RAM 访问控制

访问控制(Resource Access Management,RAM)是阿里云提供的一项管理用户身份与资源访问权限的服务。使用 RAM,您可以创建、管理 RAM 子用户(例如员工、系统或应用程序),并可以控制这些 RAM 子用户对资源的操作权限。当您的企业存在多用户协同操作资源时,使用 RAM 可以让您避免与其他用户共享云账号密钥,按需为用户分配最小权限,从而降低企业信息安全风险。

RAM 访问控制是我使用对象存储后,发现官方建议对象存储中的文件,最好是设置为私有,然后通过自己的服务器来访问,别暴露。

设置成了私有,就需要权限来能访问了,这里就需要RAM 访问控制,来添加用户,生成AccessKey,对象存储再授权这个AccessKey,我的服务器在通过这套AccessKey,来读写对象中的文件。

  • 在侧边栏的「产品与服务」搜索「访问控制」找到服务,或者直接点击后面的地址跳转:访问控制
  • 点击创建用户,填写登录名称和显示名称,记得把下面的访问控制中的「编程访问」勾上,根据这行后面的提示,勾上这个才能启用AccessKey
  • 创建完成后,会显示这条新用户的信息,包括AccessKey的AccessKey ID和AccessKey Secret,此时一定要复制保存下来,因为以后就再也不会显示了
  • 有了用户,就需要给他添加权限,点击这一用户后面的添加权限,右侧侧边栏悬浮框中进行配置,勾选授权范围、被授权主体(就是当前用户,如果没有自动填写,就自己根据提示选择即可)、选择权限
    • 选择权限处就需要选择给予这个用户的权限了,比如我这个用户是用来授权操作OSS对象的,就从下面选择对应的权限,进行授权即可
  • 授权完成,这个使用这个用户对应的AccessKey ID和AccessKey Secret,就可以对对应模块进行权限内的操作了。