很多同学都希望架设自己的云服务,这就离不开云主机(cloud server)。
现在有一种新的云主机,叫做“轻量应用服务器”,很适合新人。本文介绍它的基本情况,演示用法,帮大家轻松上手。
我用来演示的,是腾讯云的轻量应用服务器 Lighthouse[1]。我自己的服务器就在腾讯云,对它比较熟悉,而且我认识那里的同学。
腾讯云最近在办技术开放日 Techo Day,口号就是“化繁为简,轻而易用”,正好有相关资料,跟这篇文章的主题吻合。我就问他们要过来了,一并放在文后。
首先,我来解释,轻量应用服务器是什么,跟云主机是什么关系。
大家知道,云主机跟传统的虚拟主机相比,最大特点就是可以实时缩放,任意扩容和缩容,没有资源限制。
为了做到这一点,它的每一个参数都是单独配置、单独收费:CPU、内存、硬盘、带宽、IP 地址、快照、安全策略……
下图是腾讯云的云服务器 CVM[2]的购买页,大家看看有多少类型可选,而这还只是一部分。
这么多配置项,虽然很灵活,但对于新手,就有点太复杂了。有时候,我们只想搭建简单的个人网站,或者有一个学习和测试的服务器环境,最好开箱即用,不需要这么多可调节的配置。
云服务商意识到了这个问题,就设计出了 云服务器的简化版,这就是轻量应用服务器。
轻量应用服务器,简单说,就是对云服务器底层资源的一种重新包装,尽量隐藏复杂性,使其变得简单易用,对新手友好。
它有以下特点。
(1)套餐购买。所有配置项都捆绑成了套餐,只要选中一个套餐,各种资源都帮你配置好了。下面就是腾讯云当前的所有套餐。
可以看到,量给得比较足。最小的套餐也有 两核、2GB 内存,4Mbps 带宽,300GB 流量,对于小网站完全够用了。
(2)开箱即用。它在安装系统时,提供了很多常见应用的镜像,一键安装,直接使用,详见后文实例。
(3)功能全。云服务器可做的事情,轻量应用服务器绝大部分都可以做,比如使用云数据库、COS 存储、安全防护等。只有少数高计算量、高读写、需要集群的任务,不适合它,所以它的可玩性并不差。
(4)价格较便宜。它比同等配置的云服务器要便宜不少。大促的时候,最便宜的套餐更是一年只要几十元钱。这样的价格,就可以体验全功能的云主机,还是很划算的。
总之,轻量应用服务器的设计理念,就是简单、易用、轻盈。它跟云服务器使用同样的 CPU、内存、硬盘等底层资源,性能和用法并无差异,区别主要体现在呈现给用户的产品形态。它更像传统的虚拟主机,但是功能性、稳定性、安全性都要远超虚拟主机。
作为全功能的服务器,你可以在轻量应用服务器上,安装想要的任何软件。
总的来说,它的适用场景有下面三个。
(1)轻负载的小型服务,比如企业官网/个人博客/论坛社区/电商网站等,还可以放置微信小程序/小游戏后端服务。
(2)个人工具,比如云盘、图床、Docker 等。
(3)云端开发/测试/学习环境。
下面,就来演示如何开通一台轻量应用服务器。
登录轻量应用服务器控制台[3],进入购买页。
首先,选择机房所在地。
然后,选择一个镜像。所谓镜像,就是服务器的安装模板。为了演示,我选择“宝塔 linux 面板”。
注意,同一页面也有 windows 服务器,这个教程要选择 Linux。
最后,选择套餐,最便宜的就可以了。付款就马上开通了。
开通以后的第一件事,就是完成 SSH 登录设置,这样才能登录服务器。
第一步,进入控制台,选择左侧的“密钥”菜单,点击“创建密钥”按钮。
第二步,弹出对话框里面,可以选择“创建新密钥对”生成新的密钥,也可以上传已有的公钥(注意,不要上传私钥)。
第三步,将上一步得到的密钥与主机绑定。绑定密钥需要关机操作,所以先在设置页上,点击“关机”按钮。
等到关机后,进入主机的详细设置,点击“管理密钥对”。
然后,点击“绑定密钥对”,将密钥与主机绑定。
第四步,绑定成功后,重新开机。
这时,在本地计算机的命令行下,键入下面的命令。
$ ssh root@[服务器的 IP 地址]
成功登录后,然后就可以对主机进行各种命令行操作了。不熟悉 SSH 的同学,可以参考这篇教程[4]。
注意,这时我们是根用户身份,最好登录后,在服务器上创建一个普通用户,以后都用普通用户登录,并禁止根用户登录。详细的操作可以参考我写的《Linux 服务器的初步配置流程》[5]。
前面安装时,选择的是宝塔面板镜像。它是一个管理工具,通过 Web 界面,对主机进行管理。下面看看怎么使用它。
它的访问端口是8888,这个端口默认是不开放的,必须先对外开放。方法是进入主机的“防火墙”设置页,点击“添加规则”。
新规则的内容就是,允许服务器对外暴露 TCP 协议的 8888 端口。
添加规则成功后,你打开浏览器,访问http://[主机 IP 地址]:8888
,就能看到提示页。
宝塔面板默认开启了安全入口,这时是进不去的。登录的具体方法,可以参考官方文档[6]。
登录服务器后,就可以自行在命令行下安装各种应用。
为了简化操作,对于一些常见的应用,官方提供了“一键安装”。你可以在购买时指定要安装的应用镜像,也可以对现有的服务器重装系统(会删除现有数据)。
这里以安装 wordPress/ target=_blank class=infotextkey>WordPress 镜像为例。
选中 WordPress 镜像,点击“确定”后,安装很快就能完成。接着,访问服务器的 IP 地址,应该就可以看到下面的页面了。
这表明 WordPress 已经可以正常使用了,它的登录密码见主机后台的“应用管理”页。
注意,WordPress 的数据库,是随同镜像一起安装在服务器上面的。如果数据比较重要,或者多台主机使用一个数据库,我建议额外购买专门的云数据库服务。
除了 WordPress,其他官方镜像的安装方法也大同小异。比如,选择个人网盘 Cloudreve 的镜像,安装后就会得到下面的页面。
最后演示在轻量应用服务器上,安装 Docker 镜像,毕竟大部分复杂应用现在都提供 Docker 镜像安装方式。
这时,服务器需要先安装docker
应用程序。为了便于演示,我选择将系统重装为 docker CE 镜像,这样比较简单。
注意,每次重装系统后,都需要把 SSH 密钥和服务器重新绑定。绑定成功后,使用下面的命令登录服务器。
$ ssh root@[主机 IP 地址]
登录进去后,docker 应该已经安装好了,可以执行下面的命令试试看。
# docker -v
上面命令中,前面的命令提示符#
表示当前是根用户环境。
下面以安装 Fathom[7]的 Docker 镜像为例,它是一个比较简单的网站访问统计工具。
# docker run -d -p 80:8080 usefathom/fathom:latest
只要运行上面一行命令就可以了,正常情况下,执行完这条命令,Fathom 服务就已经安装完成,并在后台运行了。
这时,浏览器访问主机的 IP 地址,就可以看到 Fathom 的页面了。
此外,你还可以安装 Gitea 的镜像,作为自己的代码托管服务器,操作跟上面基本一样,可以参考这篇文章[8]。
有些复杂的 Docker 镜像,还需要安装 Docker Compose,这里就不演示了,可以参考我写的《Docker 入门教程》[9]和《Docker 微服务教程》[10]。
轻量应用服务器总体上是一种比较简单的云服务,容易上手,性价比高,适合个人用户和中小企业。如果你刚刚接触云开发,想尝试自己的第一台云服务器,不妨从轻量应用服务器开始。
本文开头提到了,腾讯云最近有一个 Techo Day 技术开放日活动。活动正好有实践课程,分享了如何通过轻量应用服务器 Lighthouse 搭配应用镜像,一步步快速构建自己的云端硬盘。
腾讯官方把这些资料、课件、以及其他轻量级云服务器产品的介绍,整理成了一份轻量级工具指南。我把这份资料要来了,感兴趣的朋友可以,或者微信扫码,从腾讯云下载。
(完)
[1]
轻量应用服务器 Lighthouse:
https://cloud.tencent.com/product/lighthouse
[2]
云服务器 CVM:
https://cloud.tencent.com/product/cvm
[3]
轻量应用服务器控制台:
https://console.cloud.tencent.com/lighthouse/instance/index
[4]
这篇教程:
https://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.html
[5]
《Linux 服务器的初步配置流程》:
https://www.ruanyifeng.com/blog/2014/03/server_setup.html
[6]
官方文档:
https://cloud.tencent.com/document/product/1207/54078
[7]
Fathom:https://hub.docker.com/r/usefathom/fathom
[8]
这篇文章:
https://segmentfault.com/a/1190000040295173
[9]
《Docker 入门教程》:
https://www.ruanyifeng.com/blog/2018/02/docker-tutorial.html
[10]
《Docker 微服务教程》:
https://www.ruanyifeng.com/blog/2018/02/docker-wordpress-tutorial.html
[11]
点击这里:
https://mktsaas.tencent-cloud.com/web/jumpmini.html?scene=DE9AF2CDB4F966AEB09E39E30A59A5D2&platform=1