Hexo部署虚拟机测试

尝试通过ssh,在虚拟机系统为CentOS7上使用Nginx部署hexo,实现在物理机上用hexo的部署命令hexo d实现一键部署更新。头一回搞,先在本地试试看,也是参考了网上各种教程资料,踩了各种坑,来写一篇至少对我来说是没有坑的,希望对看到的人也能有帮助吧。

ssh连接

这里使用的是finalshell,集成了sftp,传文件直接可视化界面拖就完事了。

首先左上打开连接管理,添加ssh连接,输入名称,虚拟机ip,用户名为root,密码为root密码,然后双击新建好的连接就可以连接并登录虚拟机的root账号了。

在这里插入图片描述
连上后如图:

在这里插入图片描述

nginx安装

这里选择是源码安装(直接yum安装也行,但装好后我没找到配置文件哈哈哈哈),首先去下载源码http://nginx.org/en/download.html,这里就选择稳定版1.18.0

在这里插入图片描述

下载好后通过finallshell底部的文件管理,拖到/root/目录中即可

进入/usr/local/目录,创建nginx文件夹并进入

[root@localhost ~]# cd /usr/local/
[root@localhost local]# mkdir nginx
[root@localhost local]# cd nginx/

将源码压缩包解压到当前文件夹

[root@localhost nginx]# tar zxvf /root/nginx-1.18.0.tar.gz -C ./

当前目录中会出现一个解压好的文件夹nginx-1.18.0

预先安装额外的依赖

yum -y install pcre-devel
yum -y install openssl openssl-devel

最后编译安装nginx

cd nginx-1.18.0/
./configure
make && make install

这样nginx就安装完成了,可执行文件在/usr/local/nginx/sbin/nginx

执行以下命令nginx就启动了:

/usr/local/nginx/sbin/nginx

停止的命令:

/usr/local/nginx/sbin/nginx -s stop

修改配置文件后重新加载的命令:

/usr/local/nginx/sbin/nginx -s reload

配置文件的位置:

/usr/local/nginx/conf/nginx.conf

测试nginx

启动nginx

/usr/local/nginx/sbin/nginx

在物理机的浏览器上输入虚拟机的ip地址,发现无法跳不出来

网上资料查了一通,发现是防火墙的问题,那就配置防火墙80端口,并重启防火墙。

firewall-cmd --zone=public --add-port=80/tcp --permanent
systemctl restart firewalld.service

再次在物理机上访问,跳出如下网页,测试安装成功(yum安装的nginx这时候跳出来的会是CentOS的欢迎界面)
在这里插入图片描述

nginx配置

首先需要创建两个文件夹,并修改权限,一个放最终部署的网站,一个放git版本库。

mkdir -p /usr/share/hexo
chmod -R 755 /usr/share/hexo
mkdir -p /usr/share/blog
chmod -R 755 /usr/share/blog

打开nginx配置文件

vim /usr/local/nginx/conf/nginx.conf

找到这儿

在这里插入图片描述

把location中的root改成/usr/share/hexo,保存退出

location / {
            root   /usr/share/hexo;
            index  index.html index.htm;
}

重启nginx

/usr/local/nginx/sbin/nginx -s reload

可以先在/usr/share/hexo下随便写个html文件,然后在物理机上访问测试

然后来到放git版本库的目录

cd /usr/share/blog/

初始化一个git的bare仓库

git init --bare hexo.git

创建一个git hook将文件映射到最终最终部署到的地方/usr/share/hexo

vim /usr/share/blog/hexo.git/hooks/post-receive

编辑添加如下内容到post-receive中,work-tree指向最终部署的地方,git-dir指向git版本库

#!/bin/bash
git --work-tree=/usr/share/hexo --git-dir=/usr/share/blog/hexo.git checkout -f

保存退出,给文件添加可执行权限

chmod +x /usr/share/blog/hexo.git/hooks/post-receive

然后虚拟机上的配置就差不多了

hexo配置

找个位置初始化一个hexo博客

打开hexo博客主目录下的配置文件_config.yml

拉到最下面做如下修改(单引号看改之前有没有给留着,留着就留着,没留着就不用加),message应该可以不加吧,type branch都如下,主要是reporoot@虚拟机ip:git版本库位置,保存退出

deploy:
  type: 'git'
  repo: root@192.168.1.109:/usr/share/blog/hexo
  branch: master
  message: deploy

在当前位置打开命令行,生成静态网页并部署

hexo clean
hexo g
hexo d

在物理机上打开浏览器输入虚拟机ip即可看到部署上去的hexo博客了

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值