从零到一快速搭建个人博客网站(域名备案 + h

为什么选择搭建个人博客?一方面是各个平台经常下架原创文章,另一个方面是为了熟悉整个建站流程。
       通过搭建个人博客,我们可以自由的发表文章不用担心下架,而且可以锻炼个人的SEO优化能力,不管是运维还是运营这块对个人的技术提升有着很大的帮助。

本篇文章记录了网站从零到一的过程,希望你也能根据本篇文章搭建出属于自己的网站。大家有疑问可以一起讨论。

下面开始正题。

环境介绍 资源 说明
centos   v7.2  
docker   快速部署项目环境  
nginx   反向代理,同时配置https证书  
halo   v1.4.2,开源博客项目  
Let's Encrypt 免费证书   配置https  
效果演示

zander

前置环境安装 Docker安装

可以参考博主以前的文章:Centos7.2 安装docker、mysql和redis

halo安装 准备halo配置文件 # 下载配置文件到 /home/halo/.halo 目录 curl -o /home/halo/.halo/application.yaml --create-dirs https://dl.halo.run/config/application-template.yaml

修改配置文件,将数据库调整为mysql,默认是h2(可选)

从零到一快速搭建个人博客网站(域名备案 + h

将上面h2的数据库注释,并把mysql的配置打开,注意,需要提前在mysql建立数据库 halodb,相关的数据库表halo会自动生成,如果mysql 和 halo都是容器创建的,这里配置的mysqlip应该是mysql容器内部的ip。

# 查看mysql容器的ip,mysql-prod替换成mysql容器名称或者容器id docker inspect --format='{{.NetworkSettings.IPAddress}}' mysql

修改后:

从零到一快速搭建个人博客网站(域名备案 + h

下载并安装halo # 拉取halo镜像 docker pull ruibaby/halo # 运行halo # -p 8090:8090 指定宿主机端口与容器端口映射,这里是将宿主机的8090映射到docker的8090 # -v /home/halo/.halo:/root/.halo 挂载halo配置文件,我们在上一步下载了配置文件在宿主机的/home/halo/.halo docker run --rm -it -d --name halo -p 8090:8090 -v /home/halo/.halo:/root/.halo ruibaby/halo ## 查看容器状态,确认halo是否启动成功,如果启动失败需要检查下数据库连接 docker ps # 配置防火墙,注意,阿里云需要同时配置安全组8090端口 # 开放8090端口 firewall-cmd --permanent --add-port=8090/tcp #重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload

正常情况应该如下:

       经过上面的步骤创建的halo还不能通过外部ip访问,我们现在配置一个nginx进行代理

nginx安装 # 下载nginx镜像 docker pull nginx # 启动nginx docker run -p 80:80 --name nginx -d nginx # 我们需要nginx使用我们自定义的配置,最方便的方法将nginx现在有的配置复制一份到宿主机目录 /home/nginx docker container cp nginx:/etc/nginx /home/nginx # 移除我们刚创建的nginx,重新以宿主机配置目录启动 docker stop nginx docker rm nginx # 编辑 conf.d 下的default.conf 文件,默认转发到halo端口,ip地址为本机ip location / { root /usr/share/nginx/html; index index.html index.htm; } 改为,10.0.2.5 为本机ip,通过命令 ip addr 查看,端口是halo的端口: location / { proxy_pass :8090; } # 重新创建nginx docker run -p 80:80 --name nginx \ -v /home/nginx/logs:/var/log/nginx \ -v /home/nginx/nginx.conf:/etc/nginx/nginx.conf \ -v /home/nginx/conf.d:/etc/nginx/conf.d \ -d nginx # 配置防火墙,注意,阿里云需要同时配置安全组80端口 # 开放80端口 firewall-cmd --permanent --add-port=80/tcp #重启防火墙(修改配置后要重启防火墙) firewall-cmd --reload # 到这里,我们可以通过ip访问halo了

到这一步如果不能使用ip直接访问,首先确定halo启动成功没,然后查看nginx配置是否正确,最后再检查防火墙和安全组。

域名及网站备案

目前我们只能通过ip访问halo,我们可以通过配置域名进行访问。
       首先我们得申请一个域名:域名注册
       申请完成后进行备案:备案
       备案注意事项:
              1、如果处于异地工作的情况,建议备案地点选择老家,而且手上要有老家的手机号,如果选择异地的话,需要你提供临时居住证之类比较麻烦。
              2、阿里云备案时间在一周左右,一般提交申请会有人找你确认信息,之后按备案流程走就行了。

配置https

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/83555af37ad485b9b526bf470891e5bd.html