1.服务器-ECS
由于需要接入到公网中,我们通常采用云服务器的方式进行部署,通常作为学习渠道使用的话,是会有优惠渠道的(10元/月)
通常1核 2G 40G 5M带宽,足够日常使用了。(5M带宽相当于是600kb/s)
系统通常选用linux系统,按个人熟悉程度来分,下载centos7踩坑会少一点。
远程连接的方式有很多,诸如xshell、putty、网页连接等
PUTTY比较好用,且轻量化,非常推荐。
2.数据库-RDS/数据管理-DMS
使用数据库有诸如操作方便,索引速度方面的优势;一个良好的网站需要数据库的加持。
将数据库部署在ECS上也未尝不可,但是安装、管理成本会比较高。云厂商一般也会推出专门的数据库服务RDS,可以一键生成示例,年费在20元左右,通过DMS进行管理。
如图是DMS的截图,和mysqlworkbench功能类似。
在使用之前,需要掌握一些sql相关的知识。
mysql数据库的增删改查可以通过sql console直接进行操作,或者通过编程语言进行编程式的数据库交互。
比如在nodeJS中,可以安装mysql包,通过createConnection连接后,即可通过db.query()进行sql语句的执行操作。
import mysql from ``'mysql'
let config = {
``host: ``'rm-bp11694i5wj393ld5oo.mysql.rds.aliyuncs.com'``,
``user: ``'yangkang'``,
``database: ``'db_ezreal_yk_cn'``,
``password: ``'***'``,
}
const db = mysql.createConnection(config)
db.connect(err => {
``if (err) {
``throw err
``}
``console.log(``'数据库连接成功!'``)
})
...
``db.query(
``${sql},
``(err, result) => {
``...
``}
``)
``})
3.域名解析DNS
当服务器申请下来之后,云服务器厂商给我们提供的是一串ipv4地址,如果需要让网站有更好的知名度,并且隐藏ip地址这样的敏感信息,就需要申请域名。
(通常域名的费用在30一年左右,需要15个工作日左右能把全流程走下来,感兴趣的可以试一下)。
域名申请到之后,就需要解析到相应的ip地址。
比如将域名解析到某ip上,可以这么解析
4.内容分发网络-CDN
cdn相当于是一种缓存服务器,能够在复杂的网络环境下,访问到最快的节点。
在5M的带宽下,加载一张10M的照片大概需要20秒左右,是相当吃力的。而使用CDN加速后,仅需要几百毫秒。
cdn用户的访问路径大致可以描述如下
CDN的配置蛮坑,配置我总结成了这样的文章,CDN配置-ezreal-yk.cn/detail/8145…
5.反向代理/静态资源服务器-Nginx
6.保证项目持续稳定运行-PM2
PM2是一款node应用进程管理器,可以用于管理node进程,在与服务器断开连接的情况下,也能保持项目稳定运行。(我之前项目在后台运行的好好的,退出远程连接之后,项目就会挂掉)
保持服务稳定运行的三种方式(forever/nohup/pm2)
综上所述,服务器成本100元/年,域名30元/年,RDS约20元/年,CDN根据流量计费。综合成本200元/年,学习一下还是不错的。