Hexo部署阿里云【Centos 7】

云服务器配置 Git

更新软件包列表

在安装 Git 之前,需要先更新 Centos 软件包列表

1
yum update

yum命令安装

1
sudo yum install -y git

此方法简单,并且会自动安装依赖的包,而且会从源里安装最新的版本不过不一定是最新的git

安装依赖库

可使用rpm -qa | grep wget命令查看是否有安装包

1
sudo yum install -y wget
1
sudo yum install -y gcc-c++
1
sudo yum install -y zlib-devel perl-ExtUtils-MakeMaker
去官网下载最新版本的git源码包
1
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.9.5.tar.gz
接下来就是解压,配置,安装
1
tar -zxvf git-2.9.5.tar.gz
1
cd git-2.9.5
1
./configure --prefix=/usr/local
1
make
1
sudo make install

./configure后面的–prefix=/usr/local,指定安装路径为usr/local

查看git版本
1
2
git --version
# git version 2.9.5

创建git用户并且修改权限

创建用户名

1
adduser yulium

创建密码,命令下回车之后需要输入2次密码

1
passwd yulium

修改权限740 表示其他用户只读权限

1
chmod 740 /etc/sudoers 

编写/etc/sudoers

1
vim /etc/sudoers root

打开文件后往下找到root ALL=(ALL) ALL,在它下方加入一行yulium ALL=(ALL) ALL,最后保存并退出:wq

1
yulium     ALL=(ALL)       ALL

本地 windows10/11 使用 Gitbash 创建密钥

如果已经有密钥key,可以跳过了

1
ssh-keygen -t rsa

然后一直回车即可,别管要求输入啥就行

将本地创建id_rsa.pub中文件复制到Centos里面用户yulium

切换到centos环境

切换用户

1
su yulium

创建文件夹.shh

1
mkdir ~/.ssh

编写文件authorized_keys,并把本地(windows10/11)的id_rsa.pub文件内容复制到此

1
vim ~/.ssh/authorized_keys # 查看是否有authorized_keys文件,如果没有则用以下命令创建一个
回到本地(windows10/11)测试
1
ssh -v yulium@服务器ip

出现Welcome to Alibaba Cloud Elastic Compute Service ! 则代表部署成功

云服务器网站配置

创建网站目录并且设置权限

切换用户root

1
su root

创建hexo目录

1
mkdir /home/hexo

给用户yulium设置权限

1
chown yulium:yulium -R /home/hexo

安装 Nginx

下载nginx

1
wget https://nginx.org/download/nginx-1.21.6.tar.gz

解压nginx

1
tar xvf nginx-1.21.6.tar.gz

进入解压后的目录

1
cd nginx-1.21.6

配置(带有https模块)【需要进入解压后的目录】

1
./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module

编译和安装【需要进入解压后的目录】

1
make # 编译
1
make install # 安装

启动、关闭nginx服务

需要先进入sbin目录下

1
cd /usr/local/nginx/sbin

启动nginx服务

1
./nginx

关闭服务
需要先进入sbin目录下

1
cd /usr/local/nginx/sbin

关闭nginx服务

1
./nginx -s stop

查看nginx服务

1
ps -ef|grep nginx

修改Nginx配置文件

需要先进入/usr/local/nginx/conf目录下

1
cd /usr/local/nginx/conf

在配置文件里面修改2行,最后保存并退出:wq

1
2
root         /home/hexo;      #第44行修改, 网站目录
server_name xxxxx; #第37行修改, 域名或ip地址

重启Nginx服务

查询Nginx的安装位置

1
whereis nginx

进入安装目录一般默认安装位置是/usr/local/nginx

1
cd /usr/local/nginx/sbin

重启Nginx服务

1
./nginx -s reload

建立git仓库

切换用户

1
su root

切换yulium

1
cd /home/yulium

git初始化

1
git init --bare blog.git

设置目录权限

1
chown yulium:yulium -R blog.git

同步网站根目录

编写文件之后

1
vim blog.git/hooks/post-receive

添加以下内容

1
2
#!/bin/sh
git --work-tree=/home/hexo --git-dir=/home/yulium/blog.git checkout -f

修改权限

1
chmod +x /home/yulium/blog.git/hooks/post-receive

windows10/windows11本地hexo目录修改_config.yml文件

找到自己hexo项目,然后编写所需的内容

1
2
3
4
deploy:
type: git
repository: yulium@xxxxx:/home/yulium/blog.git #用户名@服务器Ip:git仓库位置
branch: master

本机 gitbash 部署服务器

1
hexo cl && hexo g && hexo d

最后一行出现INFO Deploy done: git 则代表部署成功