大学的时候,为了学 Linux,先是通过虚拟机的方式安装,后来发现虚拟机太卡,又试了双系统,折腾了不少功夫。另外在学习搭建网站的时候,大多数都是在本机运行,始终没有实际体会到搭建公网可以访问的服务器的全过程。后来,工作之后才慢慢接触云服务,自己也有经济收入了,就利用阿里云搭建了属于自己的服务器。真正去搭建的时候,才发现也并不是很简单的,整个过程其实也是费了好多功夫,但是最终看到自己可以通过公网调用 API 的那一刻,还是很开心的。最近突然看到阿里云有各种优惠活动,就想着给大家分享一下整个搭建服务器的过程。本来想把每个步骤都写得非常详细,各个字段、产品都分析一遍,动笔的时候发现工作量太大了,下面就分享一个很简略的过程吧。希望给大家一个方向,至于细节需要大家自己去探索,其实阿里云上面也有比较详细的文档。
云服务器 ECS 简单来说就是服务器本体了,购买的时候可以根据需要购买不同的配置,一些配置包括地域、可用区、实例规格(几核 CPU,内存大小)、操作系统类型、带宽、购买时长、购买数量等等。访问阿里云官网可以看到,ECS 经济型 e 实例 2 核 2G 的规格,只需要 99 元/年,特别适合购买来学习使用。
远程连接大家可以看官方教程,官方教程详细介绍了各种连接方式以及账号密码的设置等。链接如下:连接实例。
购买云服务器 ECS 之后,除了配置各种远程连接方式之外,还有一个很重要的配置是配置安全组,也就是配置哪些主机可以通过哪些协议的哪些端口访问到服务器,比如要远程登录服务器,就要开放 22 端口;要连接服务器上的数据库,就要开放 3306 端口等等。如果没有安全组的配置,是无法访问服务器的。进入云服务 ECS-网络与安全 - 安全组,就可以新建安全组并做相应的设置。
经过第三步,已经可以利用像 PuTTy 这样的远程工具访问服务器,并且进行各种操作了。比如安装 MySQL、Jenkins、开发后端应用等等。但是这个时候,我们只能通过 IP 地址访问服务器。如果需要像日常访问其他网站一样通过域名访问,我们还需要做更多的操作。
这里先说一个功能,如果需要什么服务,可以直接通过阿里云网站的搜索框,输入对应的服务就可以搜索到。比如需要购买域名,那么搜索 “域名”,找到域名注册选项,就可以进入域名注册服务页面,如下图所示:
在域名注册服务页面,输入自己心目中的域名,就可以搜索到域名是否被其他人占用、价格等等信息,根据自己的情况进行购买即可。
有了域名,我们还得依靠 DNS 服务器来帮我们做域名解析,所以需要开通 DNS 云解析,直接搜索云解析 DNS,然后进行开通即可。
开通之后,进入云解析 DNS 控制台,选择公网 DNS 解析 - 权威解析,添加域名,把 ECS 实例的 IP 和域名进行绑定即可。
有了域名解析,这个时候开发的网站,还需要通过网站备案,才能在公网中访问。在阿里云官网搜索 “备案服务”,然后根据操作进行备案即可。备案需要提供各种资料,经过阿里云初审之后,经过工信部核验、管局审核才成功。备案之后,我们开发的网站就可以正常在公网通过域名访问了。
经过第六步,我们的网站虽然可以在公网访问了,但是只能使用 HTTP 协议。如果想更安全,还得购买 SSL 证书,然后配置到网站当中,然后才能通过 HTTPS 的方式访问。在阿里云官网搜索 “数字证书管理服务”,即可进行选购。阿里云提供了免费的 3 个月的个人测试证书。
开通证书之后,在数字证书管理服务控制台 - 证书管理-SSL 证书管理下可以把证书下载下来,然后上传到 ECS 服务器以供使用。
我这里利用 FastAPI 做测试,代码用的是 FastAPI 官方文档中的第一个例子,代码如下:
在服务器上运行服务,执行如下代码:
uvicorn main:app --host 0.0.0.0 --port 443 --ssl-keyfile /root/ssl/example.key --ssl-certfile /root/ssl/example.pem
--host 0.0.0.0 是指定所有主机都可以访问
--ssl-keyfile 和--ssl-certfile 分别指定 SSL 证书下载下来的 key 文件和 pem 文件。
运行成功后,在浏览器访问 https:+ 域名就可以看到返回结果了:
以上,供大家参考,每个步骤都还有很多工作要做,我自己弄的时候也花了不少时间,但是看到最终结果也是很开心的,对整个开发过程有了一个比较真实的体验。