title: Windows+ECS+个人域名+HEXO搭建个人博客
date: 2021-10-16 16:38:48
tags: 个人博客
搭建个人博客网站,用来学习it技术,小可爱们快来呀!
1、准备工作 1.1、版本控制之git官网地址
两个功能
1、需要通过ssh进行免密登录,将git用户信息发送给服务器
2、hexo博客框架需要
生成ssh秘钥
打开终端cmd,用户密码登录,输入
ssh-keygen -t rsa
会提示密钥存放路径,一般存放在默认路径,直接回车即可
后续会用到
1.2、包管理工具nodejs官网下载路径
http://nodejs.cn/
安装
下一步下一步。。。
环境变量配置
测试是否安装成功
node -v npm -v
淘宝镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org1.3、购买阿里云ECS
1、官网购买
2、安全组开放端口
3、博客内容存放在云服务器
1.4、购买个人域名1、购买域名
https://wanwang.aliyun.com/domain/recommend?spm=5176.10695662.1158081.4.2f774234NtE3TG#/
2、域名备案
1、尽量采取手机端,各种信息采集手机端好操作。
2、备案时间一般是两周左右,关键是信息完整就行。
3、备案期间手机尽量保持畅通,阿里云服务人员会核实个人信息。
3、阿里云DNS解析
我们在通过网站网址打开网站的过程中,其实就是浏览器获取到了隐藏在网址背后的网站服务器的i p 地址啊,通过访问这个i p 地址的网站服务器呢来打开网站。也就是说啊所有的域名,也就是我们常说的网址真正起作用的是它背后的服务器的i p 地址。按浏览器之所以知道每一个域名背后对应的网站服务器的i p 地址,靠的就是d n s.
- 首先,我们登录阿里云,然后点击右上角的【控制台】,进入控制台。
- 进入控制台之后,显示当前用户的产品服务页面,比如ECS,Redis,OSS对象存储技术,这些技术都会显示在当前页面;由于DNS解析之前没有操作过,故而不显示当前页面
- 鼠标触碰当前页面左上角,显示各种各样的功能模块,查找云解析
- 显示DNS解析页面,默认显示个人的域名信息
- 点击域名,进入解析设置,添加记录
- **重点来了,**解析的内容之记录类型。一般就两种,云服务器或VPS的话,选择A,虚拟主机的话,选择CNAME就行。
记录类型
主机记录
解析线路,选择默认就行。
记录值。这个就是服务器或者虚拟主机的外网IP地址。在你购买的服务器查看。TTL,这个默认的10分钟就行。最后点击【确定】就解析好了。
1.5、hexo这只是解析了一个前缀。若你的网站想www和不加www前缀都能访问。那你要至少要解析这两个。解析好后,我们等几分钟,就可以访问我们的网站了。
快速、简洁且高效的博客框架
官网
https://hexo.io/zh-cn/
安装前提
nodejs:http://nodejs.org/
git:http://git-scm.com/
安装hexo
$ npm install -g hexo-cli
建站
安装 Hexo 完成后,请执行下列命令,Hexo 将会在指定文件夹中新建所需要的文件。
$ hexo init$ cd $ npm install
本地运行
hexo server
http://localhost:4000
本地访问端口号4000,访问界面如下
hexo init 博客文件名字执行该指令之后,会生成如下目录文件,其中文件简要说明。
_config.yml
网站的 配置 信息,您可以在此配置大部分的参数。
package.json
{
"name": "hexo-site",
"version": "0.0.0",
"private": true,
"scripts": {
"build": "hexo generate",
"clean": "hexo clean",
"deploy": "hexo deploy",
"server": "hexo server"
},
"hexo": {
"version": ""
},
"dependencies": {
"hexo": "^5.0.0",
"hexo-generator-archive": "^1.0.0",
"hexo-generator-category": "^1.0.0",
"hexo-generator-index": "^2.0.0",
"hexo-generator-tag": "^1.0.0",
"hexo-renderer-ejs": "^1.0.0",
"hexo-renderer-marked": "^4.0.0",
"hexo-renderer-stylus": "^2.0.0",
"hexo-server": "^2.0.0",
"hexo-theme-landscape": "^0.0.3"
}
}
scaffolds
模版 文件夹。当您新建文章时,Hexo 会根据 scaffold 来建立文件。
Hexo的模板是指在新建的文章文件中默认填充的内容。例如,如果您修改scaffold/post.md中的Front-matter内容,那么每次新建一篇文章时都会包含这个修改。
source
资源文件夹是存放用户资源的地方。除 _posts 文件夹之外,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。
themes
主题 文件夹。Hexo 会根据主题来生成静态页面。
2、服务器端 2.1、安装nginx安装ngin需要相关的依赖库,我们先进行库的安装。
1、安装gcc gcc-c++
yum install -y gcc gcc-c++
2、安装PCRE库
切换到usr/local目录,下载的pcre,安装此目录
cd /usr/local/
当前目录(usr/local)下载pcre
wget http://downloads.sourceforge.net/project/pcre/pcre/8.37/pcre-8.37.tar.gz
压缩包解压gz
tar -xvf pcre-8.37.tar.gz
编译执行pcre
cd pcre-8.37 ./configure make && make install pcre-config --version
3、安装 openssl 、zlib 、 gcc 依赖
yum -y install make zlib zlib-devel gcc-c++ libtool openssl openssl-devel
4、安装nginx
安装nginx一定要在local文件夹下
cd /usr/local/ wget http://nginx.org/download/nginx-1.17.9.tar.gz tar -xvf nginx-1.17.9.tar.gz cd nginx-1.17.9 ./configure make && make install
nginx启动
cd /usr/local/nginx/sbin ./nginx
浏览器访问ECS即可显示nginx成功页面
重启nginx
/usr/local/nginx/sbin/nginx -s reload
停止nginx
/usr/local/nginx/sbin/nginx -s stop2.2、安装git以及nodejs
1、安装nodejs
curl -sL https://rpm.nodesource.com/setup_10.x | bash - yum install -y nodejs node -v npm -v
2、安装git及新建git用户
yum install git adduser git chmod 740 /etc/sudoers vi /etc/sudoers
在如下位置添加 git ALL=(ALL) ALL vi指令执行之后按i进入输入模式
编辑完成之后按一下esc,然后输入:wq即可退出。
执行以下指令更改文件夹权限
chmod 400 /etc/sudoers # 设置git用户密码 sudo passwd git
切换git用户并且建立密钥
# 切换git用户 su git # 切换家目录 cd ~ # 创建.ssh文件夹 mkdir .ssh # 进入.ssh文件夹 cd .ssh # 创建秘钥文件,将本地git生成的公钥复制到此文件(id_rsa.pub) vi authorized_keys # 授权秘钥文件 chmod 600 ~/.ssh/authorized_keys chmod 700 ~/.ssh
创建git仓库
cd ~ git init --bare blog.git vi ~/blog.git/hooks/post-receive # 该文件添加如下内容 # 用户上传到git仓库的内容默认转移到/home/www/website,这个位置就是 # 最后博客保存的位置,需要新建文件夹/home/www/website 需要切换root git --work-tree=/home/www/website --git-dir=/home/git/blog.git checkout -f # 保存退出 :wq # 授权 chmod +x ~/blog.git/hooks/post-receive # 以上指令都需要在su git 之后执行 如果中途断开重新连接过,需要重新执行 su git指令 进入git账户。
切换root用户
创建/home/www/website文件夹,到时候博客位置就在此
本地命令行打开执行ssh命令
ssh -v git@服务器的公网ip
若是失败的话:
因为以前部署过本地记住了服务器秘钥,发生改变时候报错,只需要删除本地电脑.ssh目录的known_hosts文件就行了。
修改nginx配置文件
cd /usr/local/nginx/conf/ vim nginx.conf3、将本地博客推送服务器 3.1、修改本地博客配置文件
repo: git@这里改为服务器公网IP:/home/git/blog.git3.2、推送博客
hexo g -d
再次访问公网IP即可显示博客内容,并且博客内容在www/website目录就已经生成了
然后重启nginx,再次访问公网IP显示博客主页
在/etc/init.d/路径下添加脚本文件,名称为nginx,内容如下
该目录包含许多系统各种服务的启动和停止脚本
#!/bin/bash
#Startup script for the nginx Web Server
#chkconfig: 2345 85 15
nginx=/usr/local/nginx/sbin/nginx
conf=/usr/local/nginx/conf/nginx.conf
case $1 in
start)
echo -n "Starting Nginx"
$nginx -c $conf
echo " done."
;;
stop)
echo -n "Stopping Nginx"
killall -9 nginx
echo " done."
;;
test)
$nginx -t -c $conf
echo "Success."
;;
reload)
echo -n "Reloading Nginx"
ps auxww | grep nginx | grep master | awk '{print $2}' | xargs kill -HUP
echo " done."
;;
restart)
$nginx -s reload
echo "reload done."
;;
*)
echo "Usage: $0 {start|restart|reload|stop|test|show}"
;;
esac
执行以下命令即可
chmod +x nginx
控制指令
# 启动 service nginx start # 停止 service nginx stop # 重启 service nginx reload4、如何给博客添加ssl证书



