侧边栏壁纸
  • 累计撰写 74 篇文章
  • 累计创建 45 个标签
  • 累计收到 4 条评论

目 录CONTENT

文章目录

建立个人博客网站的整个流程

码峰
2022-04-13 / 2 评论 / 4 点赞 / 731 阅读 / 4,618 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-08-29,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

💡前言

一直以来都想建立自己的博客,把工作中遇到的一些问题和解决问题的思路方法,学习心得之类的记录下来,一方面可以提高自己对问题的分析和理解,另一方面也可以或多或少的可以帮助到其他人。虽然有各个博客平台可以写博客,但还是想自己一步一步搭建属于自己的博客。相信有很多同行也会有类似的想法,但可能一时也不知道从何做起。所以,博客的第一篇博文,就跟大家分享一下博客网站建设的整个心路历程吧。

🛠准备工作

✨注册域名

  • 找一个域名服务商,推荐阿里云/腾讯云等比较大的服务商,使用过程中会省去很多麻烦,而且这些大的服务商的产品比较全面,做网站需要的都能找齐。
  • 如何挑选域名?推荐使用顶级域名,有利于搜索引擎优化(SEO,简而言之就是让搜索引擎更喜欢你的网站),如使用量较多的 .com、.net域名等,根据个人修好选择。域名的价格一般一年几十到几百元不等,不同后缀的域名价格会有一些差别,比如.com域名一般每年50~80元不等(不同服务商价格也多少会有一些差别)。域名的名称可以根据自己的姓名,网名或者按照自己的喜好想好域名的组成,建议使用有意义的名字,比如我个人的名字中带“峰”字,自己又是一个程序员(coder是程序员的谦称),索性就叫coder-feng,简写cf,然后建立这个博客主要是分享编程笔记(notes),合起来就是cfnotes。然后在域名服务商搜索了一下,刚好这个.com后缀的域名还没有被注册,所以就这么选择了 cfnotes.com
  • 在域名服务商的网站搜索域名,比如在阿里云搜索 .com域名,如下图。选择自己喜欢的域名按流程购买即可。
    搜索域名

👀挑选博客程序

博客程序有很多,可能会挑花眼,不同人也有不同的看法,这里是给大家以下几点建议:

  • 从成本角度,建议选择开源免费的博客系统,现在开源免费的很多,有WordPress,Typecho,zblog,halo等。
  • 博客的风格和模板是否有自己中意的,这一点比较重要,我一开始就纠结于模板上,首先试了WordPress,大致浏览了一下模板,没有找到喜欢的模板,也就排除了WordPress。后来在网上无意间看到一个模板比较喜欢,然后就选择了Halo。
  • 需要挑选和服务器匹配的博客程序:不同的博客程序,对服务器有的要求不同,如果服务器是虚拟机之类的,,各个博客程序官网都有运行程序的基本要求,按要求选择或配置服务器就可以了。
  • 博客后台功能和写文章的体验感,这个直接影响到建立博客后自己写博文的体验感,我使用的这个模板,最开始看到Typecho有一个类似的模板,在本地弄了个虚拟机试了一下Typecho,发现后台体验感并不是自己想要的,后来使用了Halo之后,感觉后台的功能和模板的功能配置都比较全面,体验感也合适,所以才选择了Halo。这个根据个人喜好选择就好,也许有其他博客系统有更好的体验感,如果不好选择,可以自己在本地搭建环境先试用一下各个博客程序。
  • 建议支持Markdown语法:再好的文章编辑器插件,也没有Markdown好用,这是我使用了Markdown语法写博文后的感受,这里截一个我写博文的后来截图给大家参考,如下图,还可以将各个章节折叠起来,体验感真的很不错。
    Markdown语法写博文
  • 挑选较成熟的或者有持续更新的博客程序,这点也比较重要,如果程序不持续更新升级,一遇到Bug可能就会头疼,影响体验感,比如我刚开始试用Halo的时候,就遇到一个Bug,发现后台无法删除已添加的分类,结果一个星期后,出了新版,立即升级试了一下,那个Bug已经修复了。如果是更新不即时的程序,我会一直受这个Bug的影响。
  • 博客程序尽量安装简单,对于自购云服务器的用户,建议选择有docker镜像的博客程序,这样一方面不需要在意环境的安装,另外一方面也可以保持服务器的干净。当然,这也不是绝对,有些博客程序运行环境很成熟,一般的虚拟机都能直接运行,比如WordPress的运行环境就很常见。
  • 总之,以上几点只是我个人建立博客过程中的一些经验和建议,可以供大家参考,主要还是根据自己的喜好和需要来选择。

💰购买服务器

❔服务器的选择

服务器的选择,需要根据自己的成本预算和自己的需要来确定。对于个人博客,独立的大型服务器不在考虑范畴,通常成本最低的就是虚拟主机,其次配置低一点的云服务器也是可以选择的。存储空间和流量/带宽,这些对于刚开始建站时来说,都不那么重要。网站刚建立,除了搜索引擎会有所光顾或者自己有意推广之外,访问量很小,也就不会有太大的流量。当然,服务器还需要考虑到SEO,影响SEO的与服务器相关的主要因素有:网站访问速度(带宽),独立IP优于共享IP。下表是简单的对三种常用服务器的对比:

服务器类型 优点 缺点
虚拟机(共享IP) 成本低 不利于SEO,易受到同一IP下其他网站的影响,网站的环境确定
虚拟机(独立IP) 成本较低且有利于SEO 网站的环境确定
云服务器 网站环境可以自己定制,自由度较高,系统配置可以自由选择(包括带宽,磁盘容量,CPU性能,内存等) 成本相对较高(不同的配置,不同的服务商价格也有较大差异)

🌥虚拟主机的选择

虚拟主机是一个服务器上建立很多个网站,每个网站有各自独立的目录,可以绑定自己的域名。因为,一个服务器可以建立很多个网站(几十甚至几百个)。所以,虚拟服务器的价格相对比较便宜。但缺点就是,所有网站共享带宽,共享服务器的内存和CPU等资源,每个网站能分到的资源较少,并且同一服务器上的网站SEO还会相互影响(选择独立IP的虚拟主机可以避免这个问题)。对于虚拟主机的选择,仍然推荐选择主流服务商的虚拟主机,相对比较稳定、可靠,并且可以避免很多问题,如阿里云、腾讯云等。以下是阿里云虚拟主机的配置及相应价格,供参考,新户有优惠:https://www.aliyun.com/product/ecs/hosting 可以去看看。
image-1650896310894

🌤云服务器的选择

云服务器一般是一个独立的操作系统(Windows和各种linux都可以选择),通常是一个虚拟机(VMware或Virtual Box)。
 优点:可以安装自己需要的任何环境(Windows或各种版本的linux),系统资源配置可以根据网站程序的需要弹性选择,一个云服务器可以布置多个站点(根据站点选择合适的资源配置)。独立的操作系统,意味着有一台属于自己的电脑,即使是虚拟机,也是独立的电脑,而且通常IP地址也是独享的。也有共享型云服务器,CPU、内存等资源是和其他用户共享,可能会有峰值限制(这种价格会相对便宜一些)。还有带宽的也可以根据自己的需求进行选择,比如独享带宽(1、2、4、5、10Mbps等),带宽越大,网站访问的速度也就越快,但价格会更贵,带宽的价格增加是比较明显的。如果刚开始没有太多流量,又想网站访问快,还希望便宜,可以选择固定带宽,按流量收费,有多少流量就实时的付多少钱(流量也不太贵),带宽可以固定到相对比较大的带宽,而价格并不会增加。
 缺点:云服务器的主要缺点就是价格相对较高,对于刚入门的站长来说,操作太复杂。
 云服务器的服务商,从稳定性来说,仍然推荐阿里云、腾讯云等主流的服务器,个人偏好阿里云,新用户活动力度也比较大,可以先体验一年试试,新用户还有免费试用可以申请,试用链接:https://www.aliyun.com/daily-act/ecs/free。以下是阿里云云服务器典型的配置:
image

🏬备案域名

建立个人网站,需要在工信部进行备案才能上线运行,并且在备案前,网站最好不要有任何可访问的页面,域名也不要做任何解析。一般域名服务器服务商都会提供备案服务,购买服务器后如果要备案网站,服务器的使用时长也会顺延,比如我备案花了10天左右,备案成功后收到阿里云的信息提醒,给我服务器顺延了10天。备案的具体过程,此处以阿里云为例。

在阿里云登录后,点击右上角的“ICP备案”,然后根据页面中的提示填写要求的相关信息即可,备案有收费的服务,会有专人全程一对一指导。个人觉得备案非常简单,没必要选择收费服务,免费服务按照上面备案要求的资料上传提交即可(主要是身份证照片,域名证书,实名认证等)。如果觉得电脑上上传资料不方便,也可以下载阿里云APP,在APP上操作备案也非常方便。网站信息的填写,网站类型一定要填写个人网站,网站名称也填写xxx个人网站,即使是个人博客也不能写博客字眼,否则管局审核不过,不同省市对建立网站的规范也不一样,具体可以看备案页面中对各个省市的要求说明。信息提交后,1 ~ 3天内,阿里云也会做初审,如果填写信息可能会影响管局审核,会打电话通知更改或者电话里跟本人确认修改内容后直接修改(注意接听阿里云的电话),然后就会提交给管局进行审核。管局审核时间一般在1 ~ 2周内会有结果,如果有问题会打回服务商重新修改备案信息后再做提交。最好一次性通过,被打回后会比较麻烦。

⚙创建和配置博客网站

📲域名解析

网站备案成功后,就可以将备案的域名解析到自己购买的服务器对应的IP地址上了,域名解析需要到购买域名的服务商网站进行操作,本人使用阿里云购买的域名,就以阿里云域名为例做简单说明。

🔨安装博客程序

  • 虚拟主机下安装
    前面已经介绍了虚拟主机通常都有自带的环境,根据博客程序选择好对应支持的虚拟机后,按照博客程序的使用说明,将程序上传到服务器中,然后按照流程安装即可,此处就不再赘述。
  • 云服务器下安装
    由于云服务器是一个独立的系统,选定操作系统后,很多环境都需要自己手动安装和部署,挑选好博客程序后,需要根据博客程序要求的环境来安装相关的配置项。如果博客程序支持docker镜像相对来说就非常简单了,直接拉取docker镜像,然后创建docker容器,并启动容器就可以了。如果博客程序不支持docker镜像,也推荐使用docker来布置博客运行的环境,或者在docker hub上也能找到一些主流博客程序运行环境的镜像。
  • Nginx
    云服务器通常需要用到Nginx、Tomcat或IIS等反向代理服务,比较主流,也比较推荐的是Nginx。Nginx的安装可以使用docker,也可以直接在云服务器中安装。博主对Nginx的配置不够熟悉,所以选择了后者,通过OneinStack来安装的Nginx,也是Halo博客官方推荐的方式。参考链接:https://docs.halo.run/getting-started/install/other/oneinstack/

🎨示例安装:Halo博客在云服务器下的安装过程

博主使用的是Halo博客程序,也将安装的过程简单分享一下吧。
首先,参照Halo官方的流程,使用OneinStack安装Nginx,创建vhost,最终会输出站点的相关信息如下:

Your domain:                  yourdomain.com
Virtualhost conf:             /usr/local/nginx/conf/vhost/yourdomain.com
Directory of:                 /data/wwwroot/yourdomain.com

该过程会输出Nginx的配置文件,路径为:/usr/local/nginx/conf/vhost/demo.halo.run.conf

过程中如果选择了https,OneinStack会使用acme.sh管理证书,但这个过程容易失败,所以建议先使用http,后面再去购买https的证书(可以购买便宜的证书,基本个人博客也够用了)。

然后是修改这个Nginx配置文件,按照Halo官方的流程,最终你的Nginx配置文件应该差不多是这样(暂时没有ssl证书没关系):

server {
  listen 80;
  listen [::]:80;
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  ssl_certificate /usr/local/nginx/conf/ssl/www.youdoamin.com.crt;
  ssl_certificate_key /usr/local/nginx/conf/ssl/www.youdoamin.com.key;
  ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3;
  ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
  ssl_prefer_server_ciphers on;
  ssl_session_timeout 10m;
  ssl_session_cache builtin:1000 shared:SSL:10m;
  ssl_buffer_size 1400;
  add_header Strict-Transport-Security max-age=15768000;
  ssl_stapling on;
  ssl_stapling_verify on;
  server_name www.youdoamin.com cfnotes.com;
  access_log /data/wwwlogs/www.youdoamin.com_nginx.log combined;
  index index.html index.htm index.php;
  root /data/wwwroot/www.youdoamin.com;
  if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
  if ($host != www.youdoamin.com) {  return 301 $scheme://www.youdoamin.com$request_uri;  }
  include /usr/local/nginx/conf/rewrite/none.conf;
  #error_page 404 /404.html;
  #error_page 502 /502.html;

  location ~ .*\.(gif|jpg|jpeg|png|bmp|swf|flv|mp4|ico)$ {
    proxy_pass http://halo;
    expires 30d;
    access_log off;
  }
  location ~ .*\.(js|css)?$ {
    proxy_pass http://halo;
    expires 7d;
    access_log off;
  }
  location ~ /(\.user\.ini|\.ht|\.git|\.svn|\.project|LICENSE|README\.md) {
    deny all;
  }
  location /.well-known {
    allow all;
  }
  location / {
  proxy_set_header HOST $host;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://halo;
}

}

upstream halo{
  server 127.0.0.1:8090;
}

接下来,验证一下nginx的配置是否正确,执行:

Nginx -t

如果输出如下提示,则代表Nginx的配置是没有错误:

nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

通过重载命令时配置生效:

nginx -r reload

至此,nginx就配置完毕了,接下来就是安装并运行Halo博客程序了。推荐使用docker的方式来部署Halo,参考链接:https://docs.halo.run/getting-started/install/docker/ 可以参照该链接中的流程进行安装配置,此处就不再赘述相关流程了。

🎬后记

  写到这里,个人博客网站建立,从注册域名到购买服务器,到最终的安装博客程序的整个过程就叙述完成。主要是分享了开立自己的个人博客的整个历程,整理出来供有需要的朋友参考,如有写得不妥之处,请大家留言批评指正,只有充分交流大家才能共同进步。

4

评论区