腾讯云服务器买了有一段时间了,一直拖到现在才建博客。在参考了各个社区的很多教程后,我最终选择使用Hexo作为我的博客框架。好处是不用自己造轮子,而且有很多漂亮的主题。可以使用。今天上午,我将对搭建博客的过程做一个总结,希望能够帮助有想法的同学开设自己的博客。
:
一、云服务器和域名的购买
云服务器我选择的服务器是腾讯云,双十一88元一年,一个核心,2G内存,50G云硬盘,这个配置说实话不太好,但是也够用了个人博客,反正一天访问的人不多。阿里云的价格也差不多,但是今年双十一活动要拼团,周围没有人一起买,所以就放弃了。
域名该域名可在万网查到。这里想说的是,如果是国内域名的话,是需要备案的,我还没买。
二、关于云服务器的操作
本人云服务器配置:1核 2GB 1Mbps**,系统装的**Centos7.5
1.配置**nginx**
nginx 是一个轻量级的Web 服务器/反向代理服务器和电子邮件代理服务器,在类BSD 协议下发布。其特点是占用内存少,并发能力强。 nginx的并发能力优于其他同类型的Web服务器。
1.安装**nginx** 我们需要nginx作为我们的服务器,所以我们首先安装nginx。可以直接使用yum命令安装。安装执行命令如下yum install -y nginx 启动服务器: systemctl start nginx systemctl enable nginx 我们需要记住的是,/etc/nginx/是nginx的默认配置路径,后面会用到。
2.配置服务器路由安装并启动服务器后,我们就完成了第一步,现在我们可以尝试用自己的电脑访问服务器的公网IP了。可以发现公网IP可以打开nginx的默认网页。就这样,我们第一步就成功了。
但我们实际上希望这个地址指向我们的博客而不是nginx的默认URL,这就需要我们配置nginx的配置文件。很多centOS的资料都说要配置位于etc/nginx/conf.d/下的配置文件dafault.conf,但是腾讯云和阿里云的默认库下载的是fedora版本的nginx,我们应该配置的位于etc/nginx/下的nginx.conf。
打开/etc/nginx/目录下的nginx.conf文件vi /etc/nginx/nginx.conf
使用方向键下拉找到下图中的位置,然后修改配置。
按i 键进入编辑模式。编辑完成后,按Esc键退出编辑模式。按:wq 保存并退出。注意需要先按:键,然后输入wq回车
服务器{ 监听80 default_server;监听[:]:80 default_server;服务器名称_; #将server_name后面的_替换成自己的域名,如果没有域名可以先填写公网ip root /home/hexo; #将root更改为git仓库目录#加载默认服务器块的配置文件。 include /etc/nginx/default.d/*.conf; 位置/{ }复制
2.安装Git安装Git及配置仓库默认情况下,本地计算机已安装git,并已创建ssh 密钥。如果没有,先找其他教程在本地创建ssh key。这部分的主要目的是在云服务器上创建git仓库。本地文件可以通过git上传到云服务器的仓库,利用git的post-receive钩子将文件提交到仓库,同时同步到指定目录。这样我们就可以通过命令行将我们的博客推送到服务器了。操作如下: 安装git: yum install git 配置git用户adduser git 修改用户权限: chmod 740 /etc/sudoers vi /etc/sudoers 按向下键找到文件中字段root ALL=(ALL) ALL然后按i进入编辑模式,在这句话下面添加一句git ALL=(ALL) ALL
按Esc退出编辑,然后按:wq保存退出,然后将sudoers文件权限改回原来的
chmod 400 /etc/sudoers
设置git用户的密码
sudo 密码git
注意,git用户的密码一定要在root用户下修改,否则会提示权限不足。以下操作同样如此,注意是git用户还是root用户
切换到git用户,在~目录下创建.ssh文件夹
su git cd ~ mkdir .ssh cd .ssh
生成公钥密钥文件
ssh 密钥生成器
此时目录下就会有两个文件,分别是
id_rsa 和id_rsa.pub
其中id_rsa.pub是公钥文件,我们复制一份
cp id_rsa.pub 授权密钥
这样目录下就会有一个authorized_keys文件
然后我们修改它的权限
chmod 755 ~ chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys
这样我们就可以在我们的电脑上打开cmd,使用ssh连接我们的云服务器了
ssh -v git@公网ip #@后面输入云服务器公网ip
输入密码即可成功登录服务器
注意:如果您之前使用ssh 连接过服务器并重新安装系统,则会报错ECDSA host key for [ip address] haschanged and you have request严格检查。这时必须先清除known_hosts中保存的服务器公钥。再次重新连接,会提示是否继续连接,输入yes,会在known_hosts中创建新的公钥
然后我们创建一个git仓库,并新建一个post-receive文件提交到服务器仓库,如下:
su root cd /home/git git init --bare blog.git #在/home/git下新建仓库blog.git chown git:git -R blog.git #赋予git用户权限
在/home/hexo/blog.git下有一个自动生成的hooks文件夹。我们创建一个post-receive 钩子,将提交到/home/git/blog.git 仓库的文件同步到/home/hexo 。
cd blog.git/hooks vim 接收后
收到后输入
#!/bin/bash git --work-tree=/home/hexo --git-dir=/home/git/blog.git checkout -f
保存并退出后授予文件可执行权限
chmod +x /home/git/blog.git/hooks/post-receive
至此,我们在服务器端的配置就完成了。
:
三、关于本地主机的操作
1.安装Node.js官网下载Node.js 安装过程基本都是直接下一步。安装完成后,使用cmd查看是否安装成功node -v v14.15.2 npm -v 6.14.9 出现版本号说明安装成功
2.安装Hexo因为很多人在使用npm直接下载(国外服务器)时会遇到冻结的问题,所以我们第一步要做的就是将npm替换为淘宝的服务器。在cmd中输入以下命令: npm config set registry https://registry.npm.taobao.org # 然后安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 接下来直接安装hexo
cnpm install -g hexo-cli copy 然后我们选择一个目录来初始化博客,例如D:/Blog
cmd输入:
D: cd Blog hexo init 执行成功后复制并安装两个插件
npm install hexo-deployer-git --save npm install hexo-server 复制后我们就可以在本地机器上查看我们的博客了
hexo ghexo s copy 打开浏览器,复制网址访问
3.配置**_config.yml**完成服务器的部署在刚才生成博客的目录中,找到_config.yml并打开。
找到deploy并进行如下配置,注意deploy:以下行必须缩进两个空格
部署:输入:git repo:root@服务器仓库位置#@后面输入服务器公网IP:/home/git/blog.git分支:master复制保存退出
重新运行nginx 服务器nginx -s reload at服务器上
注意每次修改配置文件都必须重启nginx才能生效
然后尝试写一篇文章发布到服务器上
hexo new 'Hello My First Blog' hexo clean hexogenerate --deploy copy 打开本地博客目录,你会发现在`deploy_git` 目录下有一个`Hello My First Blog` 文件夹,里面是一个简单的`index.html` 文件。 html` 文件。
在服务器的`home/hexo/2020/12/17`目录下,还有一个`Hello My First Blog`文件,则表示文件上传成功。
到这里Hexo博客就完成了,去用浏览器访问服务器公网ip看看是否成功。
接下来,您可以更改主题来美化博客并享受乐趣。