最近在准备部署个人博客到线上,需要购买一个云服务器,其实选择有挺多,比较热门的例如阿里云,腾讯云,金山云,百度云等,我博客第一版是采用的阿里云,当时因为对windows系统比较熟悉,所以选择了阿里云windows操作系统的云服务器,这次主要是想玩下linux系统,所以这次架构我放弃了更熟悉的windows版本,我选择了腾讯云 CentOS 7.2 64位的云服务器。
我在这里以腾讯云为例,首先打开腾讯云的官网。右上角进入控制台
在控制台可以看到你现在拥有的云产品服务,今天主要是讲一下关于云服务器的选购。如果网站功能基本架构完成,那么这篇文章则是帮助你选择一个合适的云服务器,用来部署你的个人网站。但是,如果你的网站是正处于开发阶段,但是你对手机端进行了适配,你在开发过程中想在手机端调试,那么你就没有必要选择购买云服务器,有更好的选择可以进行使用。比如手机电脑使用同一个网络,手机电脑形成一个局域网,就可以直接在手机直接进行测试你的项目,还有一个就是开启内网穿透,将你内网的本地项目进行内网穿透,穿透出一个外网域名,然后就可以随时随地使用这个域名进行访问了。
内网穿透工具---Natapp
内网穿透其实有很多款产品可以选择,比如前几年比较火的花生壳,不过现在取消免费版了,所以在这里不介绍。Ngrok是一个反向代理,通过在公共端点和本地运行的 Web 服务器之间建立一个安全的通道,实现内网主机的服务可以暴露给外网。但是由于是国外的,所以在国内进行访问效率比较低所以也不推荐使用。我在这里推荐Natapp,其实Natapp就是根据国外的ngrok进行二次开发的,Natapp有免费版本,不过穿透生成的域名每次重新启动会更新,所以测试的时候得经常更换域名。但是测试的话免费版本就足够使用了。
进入Natapp的官网,首先注册一个账号,登录后点击左边购买隧道,比如你的项目是web项目,项目端口号是4200,填写信息隧道协议就选择Web,本地端口就填写4200,点击免费购买就完成隧道的购买了。
然后点击左边菜单栏--我的隧道,可以看到你购买的隧道信息
点击隧道右边的配置,可以进入配置隧道,名称随便起,刚才说过了,免费版隧道生成的域名是系统随机分配的,所以每次重启隧道生成的域名都不一样。本地地址可以直接填写127.0.0.1也可以填写你电脑的内网地址,比如192.168.1.101。端口就是你刚才购买时填写的4200,本地web管理地址可以不用填写,填写的话要注意你能与上面填写的端口不一样,不然端口会冲突导致无法启动。请注意图中authtoken参数,一会配置时需要使用这个参数。
到这里基本配置完成了,点击右上角客户端下载,下载完成得到一个natapp.exe,点击运行
完美,报错了,因为我们还没有把这个exe执行程序和我们购买的隧道进行绑定。访问下载Natapp的配置文件config.ini,将这个文件下载到与natapp.exe同级文件夹,然后打开config.ini文件
如果只是映射本地项目到外网生成域名进行外网访问,那就只需要配置authtoken,参数值就是刚才我说的需要注意的authtoken,在我的隧道里面进行获取。设置完进行保存,然后重新启动natapp.exe,就可以把本地启动的web项目映射到外网,然后可以供别人进行访问了。如果觉得域名不定时变更测试太过繁琐,可以选择付费版本,可以固定域名。对Natapp的使用暂时就介绍到这里,Natapp主要适用于尚在开发当中需要进行外网测试的项目。
当然,可能有人会问,既然Natapp可以直接把本地项目映射到外网生成域名,直接供用户外网进行访问,那为什么我项目要上线要选择云服务器,而不直接使用Natapp直接穿透成域名呢?因为你运行Natapp的电脑关机之后你Natapp就停止运行,所以说你的项目此时在外网就停止穿透了,在外网自然也就无法进行访问了。所以说项目开发结束要部署上线最好的选择还是选择云服务器。
云服务器选购
从上面的图中我们可以看到,选购云服务器有五个步骤:
1.选择地域与机型
有人会好奇我购买云服务器为什么要选择地域呢,举个简单例子:如果你网站只要应用场景是美国,如果你选择的地域是中国,那么你必须穿越这么长的物理距离,速度必定会收到些许影响。如果你的网站应用范围主要是国内,那么地域选择有两个区别就是选择中国香港地区还是内地,因为地域选择内地,那么你服务器必须进行备案,但是中国香港地区则不需要。当然也因为这样的原因,中国香港地区的服务器会比内地贵。总的来说,地域选择基于你项目的业务场景,选择最近的区域,这才会使你的用户进行访问时能更快的响应。
项目起步初期,你的项目并不会有很多的人流量去访问你的网站,所以说选择实例的时候,刚起步的时候可以选择1核vCPU 1GB内存的就可以了,对于一个普通小站点来说,已经足够了。
然后根据价格一个适合你的然后第一步选择地域与机型就完成了。
2.选择镜像
镜像一般分为两个阵营:windows阵营和linux阵营,如果服务器是用来架构网站的话,那建议使用linux,相对会比较稳定。如果是租来访问外网等操作,建议使用windows会更加方便。文章开头我也说过了我目前使用的镜像是CentOS 7.2 64位的,在这里我一样选择CentOS 7.2 64位的进行演示,选择完镜像之后进入第三步:选择存储和带宽。
3.选择存储和带宽
服务器的带宽是除服务器硬件配置外,最重要的因素之一。带宽的大小会直接影响用户访问,如果同时间访问量远远超过带宽能容纳的数量时,就会出现访问缓慢甚至出现无法访问的情况。
存储盘一般默认选择50g,如果不够使用以后还可以进行动态添加,带宽初期选择1Mbps就可以了,选择按流量计费,因为你服务器购买完成,你需要搭建环境,如果选择固定带宽,下载将非常缓慢。选择完带宽然后就可以进行第四步:设置安全组和主机。
4.设置安全组和主机
安全组其实可以后面再具体设置,其实就是设置你服务器的安全权限,例如图中所示3389端口是windows远程登录所需要开放的端口,22端口是Linux系统进行SSH登录所需要开放的端口,80是Web服务的端口,要是没有设置安全组允许这些端口允许访问,那就没有使用对应的功能来访问服务器上的项目。
设置完安全组,进行设置实例的配置信息
实例用户名就是root,密码可以自行设置,设置结束进入最后一步:确认配置信息。
5.确认配置信息
确认配置信息是否有误,无误则选择立即购买,购买成功进入控制台查看服务器信息。
可以看到我现在的云服务器处于运行状态,我选择的linux服务器,所以需要使用SSH方式去进行登录。在这里我推荐使用putty去进行登录。需要putty软件请在公众号发送putty获取下载链接。
在Host Name输入你的服务器的公网ip,在控制台服务器信息可以查看,因为SSH登录方式需要开放22端口,所以需要保证你的安全组有开放22端口,一般22端口都是默认开放的。Connection type选择SSH,代表以SSH方式去进行登录,点击open.
Login as代表你要登录的用户,我们实例的用户就是刚才第四步设置实例配置信息时默认的root,然后输入实例密码,就进入我们linux云服务器了。下一步就是为我们的云服务器搭建我们项目运行的基本环境了,这对于不同的项目运行环境是不一样的,我的项目采用Angular4 + Koa2 + MongoDB进行开发的,所以我的服务端环境为Node.js + pm2, 前端我则使用了nginx服务器进行反向代理,因为服务端数据放在接口4001上面跑,而前端我则使用了通用的80接口,涉及跨域请求,无法直接取到MongoDB中的数据,所以我使用了nginx实现了反向代理,把所有要请求MongoDB数据的请求全部转发到4001端口,这样就实现了跨域调取数据库数据的操作。本篇文章不对环境搭建进行讲解,后面会对环境的具体搭建单独讲解。
System.out.println("点个赞吧!"); console.log("点个赞吧!"); print("点个赞吧!"); printf("点个赞吧!\n"); cout