栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Windows+ECS+个人域名+HEXO搭建个人博客

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Windows+ECS+个人域名+HEXO搭建个人博客


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.org
1.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.

  1. 首先,我们登录阿里云,然后点击右上角的【控制台】,进入控制台。
  1. 进入控制台之后,显示当前用户的产品服务页面,比如ECS,Redis,OSS对象存储技术,这些技术都会显示在当前页面;由于DNS解析之前没有操作过,故而不显示当前页面
  1. 鼠标触碰当前页面左上角,显示各种各样的功能模块,查找云解析
  1. 显示DNS解析页面,默认显示个人的域名信息
  1. 点击域名,进入解析设置,添加记录
  1. **重点来了,**解析的内容之记录类型。一般就两种,云服务器或VPS的话,选择A,虚拟主机的话,选择CNAME就行。

记录类型

主机记录

解析线路,选择默认就行。

记录值。这个就是服务器或者虚拟主机的外网IP地址。在你购买的服务器查看。TTL,这个默认的10分钟就行。最后点击【确定】就解析好了。

这只是解析了一个前缀。若你的网站想www和不加www前缀都能访问。那你要至少要解析这两个。解析好后,我们等几分钟,就可以访问我们的网站了。

1.5、hexo

快速、简洁且高效的博客框架

官网

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 stop
2.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.conf

3、将本地博客推送服务器 3.1、修改本地博客配置文件
repo: git@这里改为服务器公网IP:/home/git/blog.git

3.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 reload
4、如何给博客添加ssl证书
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/335636.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号