hexo&&华为云

hexo博客部署到华为云服务器

其实也是照着别人的博客摸索才成功的,所以大部分操作和他们也是一样的。主要是记录一下

环境准备:

华为云服务器一个(ubuntu 18.04
windows本地主机 (win10)


主要步骤

服务器的配置

 在华为云中添加安全组,放行入规则的 80 8080 4000 等常用的端口
  • nginx的安装

在控制台中输入下面命令(nginx是为了可以访问我们的服务器)

apt install nginx

然后启动nginx

systemctl start nginx
systemctl enable nginx

可以通过访问服务器的公有IP访问服务器了,会出现nginx的默认页面

  • git的安装

安装git

apt insatll git

安装好git后还需要添加一个git用户(linux系统的),用来专门存放git的东西

adduser git

设置git账户密码,然后输入密码

sudo passwd git

git用户和root用户互相切换:

su root
su git

  • nodejs和npm的安装,这个参考一下就行了

本地主机的配置

  • 安装git node.js hexo

安装好git后,要生成sshkey,邮箱随便填也可以
(这里一定要带上邮箱,如果不带邮箱key中会带上计算机的用户名,如果是中文就继续不下去了)

ssh-keygen -t rsa -C “xxx@example.com”

在c盘用户下的.ssh文件夹会生成两个文件,id_rsa(密钥文件),id_rsa.pub(公钥文件)
打开其中的id_rsa.pub,里面的内容全部复制下来(后续会用到)
进入服务器

cd /home/git
mkdir .ssh
vim authorized_keys

然后将复制的内容粘贴到authorized_keys中(华为控制台支持复制粘贴【但是不支持中文】)
保存。这里的authorized_keys是用来进行ssh连接的

:wq

然后修改这两个文件的权限

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

然后再本地使用GitBash使用ssh

ssh -v git@服务器公网IP

不需要输入密码,成功和服务器连接上 这是完成自动部署最重要的步骤!!


  • 本地博客的搭建以及展示

    安装好hexo以后,随便找个方便的地方创建一个blog文件夹(D盘根路径)
    然后进入blog文件夹中,右键打开git bash,输入命令

    hexo init
    npm install hexo-deployer-git --save
    npm install hexo-server
    hexo g
    hexo s:

    hexo的初始博客就创建完成了!打开浏览器输入http:// localhost:4000就可以看到我们的博客了
    上面的命令中 hexo init是hexo initialize 博客初始化
    npm install hexo-deployer-git --save 使用npm安装hexo的git插件包
    hexo generate (可以用g代替这个命令)博客生成
    hexo server (可以用s代替) 发布到服务器上
    还有一个命令 hexo deploy hexo部署后面将会用到这个命令


服务器构建相关配置

 网上很多搭建到github上的教程,但是因为github网速太慢,所以有自己的服务器肯定用服务器

那为什么用服务器还要用到git呢?
因为我们从本地部署项目到服务器上,是通过上传项目到服务器上;
我们在本地上修改自己的项目(hexo博客),然后修改好后又要上传,多次修改就很麻烦了
所以我们需要借助git的自动部署工具 git-hooks

  • 创建目录
repo作为git仓库目录
Hexo作为网站根目录

mkdir -R /var/repo
mkdir -R /var/www/hexo

  • 生成一个git裸仓库

初始化repo生成一个git裸库

cd /var/repo
git init --bare blog.git

  • 实现自动部署

然后使用git-hooks同步网站根目录在这里我们使用post-receive这个脚本实现自动部署:

vim /var/repo/blog.git/hooks/post-receive
git --work-tree=/var/www/hexo --git-dir=/var/repo/blog.git checkout -f

修改post-receive的权限

chmod +x post-receive

这条命令递归的将repo目录及其子目录用户组设置为git,另一个文件加同理

chown -R git:git /var/repo/
chown -R git:git /var/www/hexo


  • 修改nginx配置

cd /etc/nginx/site-available
vi default

修改root, 然后保存退出

root /var/www/hexo
:wq

保存退出


  • 配置本地博客

配置_config.yml:

deploy:
type: git
repo: git@server_ip:/var/repo/blog.git
branch: master


  • 本地生成博客并上传到服务器:

hexo clean
hexo g && hexo d

  • 服务器上重启nginx

nginx -s reload

打开服务器输入服务器公网IP就可以进入到博客了!!

参考链接1 参考链接2


一些我遇到的问题

1.博客更换主题有时会崩掉,我暂时没有找到方法,都是重装hexo,后面有解决方法再上传
2.上传至服务器时出现:ERROR Deployer not found: git 因为没有安装git的插件
在hexo安装的文件中输入下面这个命令:

npm install hexo-deployer-git --save

大家有什么问题也可以直接找我。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值