hexo 部署到自己的云服务器上
hexo 部署到自己的云服务器上
参考
服务器配置
安装常用工具
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel |
安装git
yum install -y git |
可能出现的问题
linux 安装插件报错:Loaded plugins: fastestmirror-CSDN博客
使用 yum 软件包管理工具可以简化系统软件更新的工作。为了保证更新的持续进行,通常都会提供多个 mirror(镜像)地址供下载使用,但由于存在地域问题,从不同的镜像下载速度差异很大。选择从适合的镜像下载软件包,会极大加快更新速度。以 CentOS 为例,fastestmirror 插件可以让 yum 在更新时先根据 ping 值进行判断,然后从最快响应的地址下载。 |
使用 yum 出现 Loaded plugins: fastestmirro |
查看git版本
git - -version // 查看git是否安装成功 |
创建指定的上传用户名和密码
创建后期上传hexo的git指定用户,这里以star为例(这个用户名可以自定义,但是要保证后面的需要用户名的地方需要改成自己自定义的用户名即可)
useradd star |
需要注意的便是在设置密码时,一般玩过虚拟机的都知道,主要是没玩过的,要注意设置密码时是没有回显的
编辑权限文件赋予
star用户相关权限
chmod命令用法详解-chmod修改目录权限 - Andy-Law - 博客园 (cnblogs.com)
需要注意,//后面的别复制,内个是给大家做的解释
chmod 740 /etc/sudoers # 设置权限 |
使用 set: nu 显示行号,找到100行左右,添加如下信息
root ALL=(ALL) ALL |
直接:wq!,进行保存,保存后再次修改权限。因为 sudoers是只读文件,所有要使用 !进行保存,否则会失败。
将/etc/sudoers 修改成只读类型【为了保证服务器的安全,这个一定要做,千万不要懒哦】
chmod 600 /etc/sudoers //改回权限 |
创建hexo文件夹及赋予文件夹权限
需要注意,//后面的别复制,内个是给大家做的解释
chown命令可以查看一下链接了解
chown 英语翻译 修改文件目录属主
Linux chown 命令 | 菜鸟教程 (runoob.com)
[linux查看文件拥有者 - CSDN文库](https://wenku.csdn.net/answer/841fbac66e93208a7eb3efe40d00e98b#:~:text=要查看Linux系统中文件的拥有者,可以使用命令“ls,-l”,该命令会列出文件的详细信息,包括文件的拥有者、所属组、权限等。 文件的拥有者通常是文件创建者或最后修改者,可以通过该信息来确定文件的归属和访问权限。)
mkdir /home/hexo #这个也是自定义的 |
安装Nginx
这里基本没啥好说的,直接运行就可以,然后看到最后一行显示Complete就说明完事了
yum install -y nginx |
这个时候我们可以通过以下命令,启动一下,看看效果,如果没有报错的话就说明启动完事了
systemctl start nginx.service |
编辑Nginx文件
vim /etc/nginx/nginx.conf |
如果还没有域名,着直接用服务器本身的ip
server { |
如果后面用https,直接复制我这套就ok了
server{ |
保存退出后,重启服务器,
修改完配置以后,需要重启一下Nginx服务。
systemctl stop nginx.service |
建立git仓库
需要注意,//后面的别复制
su root //如果现在就是root用户下可以不用这一句 |
编辑post-receive
进入cd /home/star/blog.git/hooks/执行下方命令
需要注意,//后面的别复制
vim post-receive //这一句话千万别错了哦 |
把下面的内容拷贝进去并wq!保存
#!/bin/sh |
再次修改权限
chmod 英语翻译 修改文件权限
Linux chmod 命令 | 菜鸟教程 (runoob.com)
chmod +x post-receive //这里是设置成可以执行的权限 (如果没有设置这样权限,推送代码的时候推送不上/home/hexo这里来) |
开放80端口,如果https需要开放443端口
systemctl status firewalld 查看防火墙状态 |
到这基本的工作已经完事了
上传到服务器
mkdir ~/.ssh //创建存放密钥的文件夹,文件夹可能会存在,那就可以直接去编辑了 |
(如果像我这里面一样有know_hosts或know_host.old的文件,都需要删除,否则会失败!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!)
到自己的电脑上的C:\Users\He\.ssh 目录下找到id_rsa文件 |
打开自己电脑测试物理机与服务器能否跑通
ssh -v star@IP地址 //服务器ip |
我们需要在config.yml中的最后一行编辑以下信息,然后咱们就可以把自己的博客推送上去了
deploy: |
然后就可以通过以下命令进行推送了
hexo clean |
如果提示失败,应该是git那边的秘钥的问题,在查看一下上面的问题(自己电脑的know_hosts或know_host.old的文件,都需要删除)
成功发布后
访问自己的ip就可以访问到了
欢迎浏览我的页面
Star
Thank you !!!





