前言

有人说,自己建站又麻烦又耗钱的,为什么不使用例如:CSDN、知乎等现成的站点发表自己的文章?关于这个问题,我个人是这样认为的:首先,自己建站可用锻炼自己的技术;第二,自己建站的成就感更强,特别是对于喜欢动手的人群来说,完成复杂的工程可极大增强自信心;第三,自己建站的自定义程度更高,更加能够展示个性化内容;第四,在社会上,无论是面试还是与别人交流,更加容易展示自己的能力。建站,是对自己技术的一次全面的考量,设计到的计算机领域之多,相当于在现实中造一首战舰。对于技术要求,需要知道计算机硬件基础、数据通信基础、云计算、云存储、云安全、云运维等方面的知识。之前是使用微信公众号平台的,但是公众号平台限制比较多,特别是不能随时随地的修改文章,感觉很麻烦。

需求分析

由于需要对外提供Web服务、家庭宽带是不允许提供80和433端口以及对应的服务的。而传统的线下机房的维护成本相当之高,所以我选择了大多数小型企业的方案:上云。上云指的是将传统的业务迁移到云上,减轻企业建设运维成本,提高资源利用率。对于云服务商的选择,目前国内三大云服务商:华为、腾讯、阿里巴巴。我选择腾讯,当时优惠比较多一点,阿里云也不错,特别是200M峰值带宽的云服务器只需要45一个月、新用户体验只需要68元一年,性价比拉满。华为云就不要选择了,虽然提供的服务也不少,但是对于我这种个人用户和小型企业来说性价比并不高,优惠的力度也不如前两家来的大。

网站的访问量肯定是不大的,所以对于CPU、内存和带宽要求不高。网站访问量每天的话在100次左右,同时在线人数不超过5人,平均1-2人。网站一般只有我一个人写文章,所以存储要求也不高,如果后期不够用,可用使用便宜的文件存储拓展容量。网站建设不希望花费太多成本,年费用控制在500元左右。

设计方案

云服务器:

轻量应用型服务器,2vCPU、2G内存、50G eSSD系统盘的配置,由于是个人使用,对于拓展性要求不高,成本要求控制很低,所以数据库、中间件、前端应用、管理软件等都部署在同一台服务器上,只需要一台改配置的轻量应用型服务器即可。

安全性:

提供Web服务、没有涉及个人重要财产和大量的个人信息,只是分享数码科技以及一些生活经验。所以对于安全性要求较低,提供最基本的安全,腾讯云的轻量主机安全即可满足。由于是Web服务、HTTPS需要搭配SSL证书,单域名证书、基本加密算法和安全性即可。

宽带:

提供对外服务,一个公网IPv4,4M带宽即可满足。有需要可以使用IPv6,但是没有或不支持IPv6也没有关系,可以进行NAT64网关转换,目前大部分还是v4协议栈接入为主。

用户访问:

为了更高效的提供服务,搭配域名和云解析DNS服务。通过购买域名将域名解析到对应的公网IPv4即可。

存储:

存储要求不高,成本较低。但是网站往往会存储大量的图片、音频和视频文件,该数据类型属于大块数据,IOPS要求低,传输速度要求高,使用文件存储可以很好的满足。

备份与容灾:

不太需要容灾,个人网站可用性要求不高。备份要求每周或者每月对站点和数据库进行一次备份,备份保留数量在5份,使OBS存储中的低频访问或者归档存储。在网站上线时,进行一次系统盘的数据快照和镜像制作用来备份,防止系统崩坏。

系统、管理套件、中间件的选择:

系统选择CentOS,Web管理软件选择了相对成熟可靠的宝塔面板用于站点建设和管理,站点框架选择了WordPress,中间件是Nginx,环境使用PHP。

方案设计架构图

项目实施

1、注册腾讯云账号

腾讯云直达链接:https://cloud.tencent.com

2、购买轻量应用云服务器

控制台——轻量应用服务器,直达链接:https://console.cloud.tencent.com/lighthouse/instance/index?rid=1,购买轻量应用服务器,模板创建WordPress,选择40-50块钱的云服务器都行。这里提示一下虽然锐驰型的规格写着200Mbps,但是实际上只有峰值达到200Mbps,而且存在限速,而且还是多台服务器共享的带宽,实际上只有10Mbps,所以别想着跑什么PCDN。

购买成功之后返回控制台就可以看到刚刚购买的云服务器。

3、购买对象存储

对象存储主要是用来备份数据库和站点等低频访问数据,单位价格要低,所以毫无疑问,对象存储最适合。这里以腾讯云为例,在轻量应用服务器控制台界面的左边项目栏最低处,有一个对象存储。

进入界面之后,选择“创建存储桶”,名字填域名,服务器名称都可以,桶名字不可以重复,所以腾讯云自动在后面加上数字。

在该界面上面有一个流量包,流量包用来抵扣对象存储计费。这里我为大家计算了一下费用,如果不购买套餐包,标准存储费用:广州地区0.00393333元/GB/日,约为0.0039;外网下行流量费用:广州地区0.5元/GB。按照每周备份一次来计算,一个初具规模的个人网站备份一次大小在500MB,大一点的可能是1GB多。保存5次来计算的话,大小在5-10GB,花费上行流量在5-10GB。每月总费用是0.0039x10GiBx30天=1.17,因为上传到OBS是上行流量,所以不产生流量费。不瞎搞情况下,网站崩掉的概率很小,可能几个月都不会,而套餐包最低都是10块钱一个月,所以没必要购买套餐包。

购买完轻量应用服务器之后会自动安装宝塔。登录进“宝塔面板”之后呢,在“计划任务”这里可以添加任务,添加任务类型可以选择“shell脚本“、”备份数据库“、“备份网站”等计划任务。创建之后,网站会自动自动备份文件。数据备份至少两份,即本地一份,异地一份。所以还要添加一个shell脚本,将备份目录压缩并上传到桶存储。接下来将具体操作流程。

首先,进入宝塔面板,进入面板设置,可以看到两个参数选项:默认站点目录和默认备份目录。这里可以有另外选择,挂载NFS文件存储,通过shell脚本定期将该目录下的站点cp到NFS当中。备份目录下,网站会将备份的文件tar.gz到该目录,记住这个目录”/www/backup“。

接下来,在腾讯轻量应用服务器控制台下的对象存储,点击存储桶名字,进入对应的控制界面。

挂载服务器,需要授权的授权。这里提醒一下,需要购买与服务器同地域的,我也买错了。

挂载到服务器可以像我一样设置:存储桶挂载目录:/wordpress/backup;服务器挂载目录:/www/OBS/backup。其他参数默认,并发数和分块大小默认。

等待挂载完成,使用终端就可以看到文件夹了,创建一个文件夹和文件测试一下。

到此,已经成功一半。接下来在计划任务这里,创建两个如图所示的定时任务。执行周期:每周日的0点0分执行。

在创建一个shell任务,每周日0点30分执行,在备份完成数据库和wordpress之后,shell命令如下:

#!/bin/bash

# 定义源目录和目标路径
source_dir="/www/backup"  #定义变量source_dir,源备份地址,本地备份地址
output_dir="/www/OBS/backup"   #定义变量output_dir,目的备份地址,你的OBS对象
output_file="${output_dir}/wordpress-backup.tar.gz"    #定义变量output_file,输出文件位置名称

# 检查源目录是否存在
if [ ! -d "$source_dir" ]; then
    echo "[$(date '+%F %T')] 错误:源目录 $source_dir 不存在" >&2
    exit 1
fi

# 创建目标目录(如果不存在)
mkdir -p "$output_dir" || {
    echo "[$(date '+%F %T')] 错误:无法创建目录 $output_dir" >&2
    exit 1
}

# 删除旧备份文件(如果存在)
if [ -f "$output_file" ]; then
    rm -f "$output_file" && echo "[$(date '+%F %T')] 已清理旧备份文件"
fi

# 执行打包操作
if tar -czf "$output_file" -C "${source_dir%/*}" "${source_dir##*/}"; then
    echo "[$(date '+%F %T')] 备份成功:文件已保存为 $output_file"
else
    echo "[$(date '+%F %T')] 备份失败,请检查权限或磁盘空间" >&2
    exit 1
fi

之后执行两次shell脚本验证,如下图所示表示成功:

4、购买文件存储

文件存储我想的是,web网页中存储大量的静态图片,所以我想的是将wordpress存储的大量图片的媒体库挂载到文件存储当中,以满足未来的存储扩容。文件存储的价格相对于直接购买eSSD要便宜不少,如果该可用区可以选择高性能云硬盘的化,更推荐高性能云硬盘。

目前网站的存储容量是够用的,所有暂时没有存储压力。如果以后有存储压力可以这样设置。挂载好NFS或者高性能云硬盘,然后下载”030 Ps Display Upload_path For WP3.5“插件,在设置选项中更改”默认上传路径“为挂载的NFS路径即可,不建议直接将NFS挂载到原来的默认目录(wordpress/wp-content/uploads),挂载之后会覆盖原来的文件。

文章文本是默认存储在数据库当中以文本的形式,图片是通过链接到媒体库的,所以数据库占用空间一般不大,小站点不太需要担心。

5、购买轻量主机安全

轻量版主机安全每个月10块钱,建议购买一下,在服务器管理界面的主机安全那一项。可以防止端口扫描和密码爆破,这两个功能挺重要的。还可看看到自己主机有哪些漏洞和受到哪些攻击,即使做出调整,驱动、应用该更新的更新。另外入侵检测这个功能,宝塔面板收费死贵死贵的,腾讯云这些功能10块钱每个月全包了,年付还打19折。

6、购买域名

直达链接:https://console.cloud.tencent.com/domain。域名结尾选择.cn性价比比较高,可以英文加数字。还有.xyz结尾的性价比也很高,如果是纯8位数字甚至可以做到每年8块钱,当然这样就域名就比较难记和难看了。

购买需要实名认证,完成之后大概几个小时就可以验证完成。之后进入云解析DNS控制台添加刚刚购买的域名即可。

之后添加域名解析

完成之后大概如图所示,这里其实可以不打码,因为你们nslookup就能获取到IP。

7、购买SSL证书

SSL证书3个月免费,到时候到期了可以换一下。便宜的SSL证书68一年,防护效果要好一点,但其实小网站没什么东西,一般不太会有人花费太多时间经历去伪造小破站的SSL。通过宝塔面板在站点设置即可一键部署SSL和开启HTTPS协议,如图所示:

8、ICP备案

ICP备案是最后一步,也是必须的一步。国内所有正规的云服务提供商都要ICP备案。国外的可不强制用ICP,但是国内访问会受到一些限制。而且,国外的云服务提供商不一定安全、稳定。备案一般7天左右即可,快的话4天就下来了。备案号要在网页首页显示,如图:

9、云上治理

搭建过程使用了很多云服务,一个个管理起来耗费精力比较大,而且还容易遗漏。所以,推荐使用腾讯云的“云上治理”功能,可以查看自己的云上资源之间是否协调、配置是否有遗漏、资产安不安全、资源改进等等,直达链接:https://console.cloud.tencent.com/advisor

项目收验

主题设置什么的自己挑选合适的就行,最后看看网站效果:https://xiaozou123.cn/

二次元!不是的?喜欢数码科技吗?我来带你了解。
最后更新于 2025-04-22