腾讯云+Hexo 个人博客的建立记录

2019.7.5终于决定建立个人网站了,记录一下建立的过程、

一、

在腾讯云购买了centos系统的服务器,并购买了域名。

二、域名进行了实名登记,等待审核通过后进行备案注册。

2019.7.10

做事的确比较墨迹

今天实名登记通过了,在手机端进行了备案注册,接下来还是等待,把网站起名为饮冰十年,算是一个初心吧,希望自己永远能热血,在这个行业坚持住。

其实后面怎么做也不知道了,也算是摸着石头过河,走一步看一步了。

 

下午:名字不行,改了......

三、开始纠结wordpress还是hexo

看了一堆博客发现大多数人用的时hexo,而且hexo比较轻便,所以选择hexo

 

四、具体搭建

终于到了主体了!!!

  • 服务器使用

  •       安全组

      是虚拟防火墙,控制端口,至少绑定一个安全组,通过安全组开通了22和80端口

 

  • 本地配置

    1.Node.js配置

Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境。 Node.js 使用了一个事件驱动、非阻塞式 I/O 的模型。 [1] 

Node 是一个让 JavaScript 运行在服务端的开发平台,它让 JavaScript 成为与PHPPythonPerlRuby 等服务端语言平起平坐的脚本语言。 [2]  发布于2009年5月,由Ryan Dahl开发,实质是对Chrome V8引擎进行了封装。

Node对一些特殊用例进行优化,提供替代的API,使得V8在非浏览器环境下运行得更好。V8引擎执行Javascript的速度非常快,性能非常好。Node是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

2.安装git

3.配置ssh(ssh是什么??)

生成ssh公钥:Git Bash Here打开命令行终端

ssh-keygen -t rsa

 生成的文件默认在~/.ssh目录中,看到有id_rsa,id_rsa.pub这些文件即可,
 Win10中就是 我的电脑/C盘/用户/你自己的用户名/.shh/ 就可以看到了

  • 腾讯云配置

     安装git :yum install git           y

     git --version

Git是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。 [1]  Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    添加账户权限

chmod 740 /etc/sudoers

vim /etc/sudoers

 

    找到配置文件中

## Allow root to run any commands anywhere
root    ALL=(ALL)     ALL

    添加

git 	ALL=(ALL)     ALL

 保存退出并改回权限

chmod 400 /etc/sudoers

设置git密码

sudo passwd git

root

切换至git用户,创建 ~/.ssh 文件夹和 ~/.ssh/authorized_keys 文件,并赋予相应的权限

su git
mkdir ~/.ssh
vim ~/.ssh/authorized_keys
# 然后将win10中生成的id_rsa.pub文件中的公钥复制到authorized_keys
chmod 600 /home/git/.ssh/authorzied_keys
chmod 700 /home/git/.ssh
  • 需要修改/etc/ssh/sshd_config
RSAAuthentication yes           #启用 RSA 认证,默认为yes
PubkeyAuthentication yes      #启用公钥认证,默认为yes
AuthorizedKeysFile     .ssh/authorized_keys  
  • 在本地机复制公钥到服务器

要使用该命令,你只需要指定要连接到的远程主机和你有 SSH 访问权限的用户帐户。你的 SSH 公钥会被复制到该帐户目录下。

语法如下:

ssh-copy-id username@remote_host

您可能会看到这样的消息:

The authenticity of host '111.111.11.111 (111.111.11.111)' can't be established. ECDSA key fingerprint is fd:fd:d4:f9:77:fe:73:84:e1:55:00:ad:d6:6d:22:fe. Are you sure you want to continue connecting (yes/no)? yes

这只是表示你的本地计算机不能识别远程主机,它只会在你第一次连接到新主机时出现。键入 “yes”,然后按确认键继续。

  • 在云服务器为本地 hexo 博客配置一个部署静态文件的远程仓库

     如果没有/usr/repo目录,需要先创建一个,并修改目录所有权及用户权限

mkdir /var/repo/
chown -R git:git /var/repo/
chmod -R 755 /var/repo/

     在/usr/repo/下创建一个名为hexoBlog的仓库

cd /var/repo
git init --bare hexoBlog.git
#Initialized empty Git repository in /var/repo/hexoBlog.git/
  • 创建git仓库
cd var/repo
git init --bare hexoBlog.git
  • 创建一个新的 Git 钩子,用于自动部署
    在 /var/repo/hexoBlog.git 下,有一个自动生成的 hooks 文件夹。我们需要在里边新建一个新的钩子文件 post-receive。

 

vim /var/repo/hexoBlog.git/hooks/post-receive

#文件内写入:

#!/bin/bash
git --work-tree=/var/www/hexo --git-dir=/var/repo/hexoBlog.git checkout -f

   修改权限:

chown -R git:git /var/repo/hexoBlog.git/hooks/post-receive
chmod +x /var/repo/hexoBlog.git/hooks/post-receive
  • 配置Nginx(服务器端)

 安装Nginx

yum install -y nginx

配置Nginx

nginx -t #查看nginx.conf配置文件的位置

打开nginx.conf文件

vim /etc/nginx/nginx.conf

server
{
    listen 80;
	# server_name 填写自己的域名
    server_name ali6.cn blog.ali6.cn;
    index index.php index.html index.htm default.php default.htm default.html;
	# 这里root填写自己的网站根目录,修改为/var/www/hexo
    root /var/www/hexo;

   启动Nginx

   systemctl start nginx.service #CentOS7.5亲测可用

   重启Nginx

    systemctl restart nginx.service

 

 

  • win10部署Hexo

    打开D盘,新建blog文件夹,打开blog文件夹,按住Shift键右击鼠标,点击”在此处打开CMD窗口”。
     发现电脑右键后没有这项,更改注册表:百度吧!

     问题二:逐渐暴躁.....每一步都是问题???hexo init 加载速度太慢,无法完成

     第二天莫名其妙就成功了,可能和网速有关???

 

    配置_config.yml,完成自动化部署

deploy:
  type: git
  #server改为你的服务IP地址或解析后的域名
  #例如我改为repo: git@ali6.cn:/var/repo/blog.git
  repo: git@server:/var/repo/blog.git
  branch: master

    自闭.....

    反反复复的尝试后解决了一些问题,最终上传成功

#--------更改完成之后执行如下命令,进行上传远程机器--------#
hexo clean   # 清理项目
hexo g			 # 编译项目
hexo d			 # 发布项目

 存在的一些问题

整个配置过程中其实出现特别多的问题,大多都通过百度解决了,下面列出出一些印象比较深刻的问题以及解决方案

  • git-receive-pack: command not font

       在服务器端:

sudo ln -s /usr/local/git/bin/git-receive-pack  /usr/bin/git-receive-pack
  • 整个配置完成后输入服务器ip显示nginx403

    先确定文件已成功拷入服务器中,在var/www/hexo中文件与本地一致

    服务器端,在nginx的配置文件中 vim /etc/nginx/nginx.conf

    location处进行更改

    server {
        listen       80 default_server;
        listen       [::]:80 default_server;
        server_name  111.114.112.117;	#远程服务的IP地址,当然也可以写localhost
        root         /home/hexo;

        # Load configuration files for the default server block.
        include /etc/nginx/default.d/*.conf;

        location / {
        root   /home/hexo;#这里做更改,将位置定位在index.html
        index  index.html;
        }

再次输入服务器ip,发现博客部署成功

yeah!

yuanjiaqi7.cn 持续部署中!

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值