赞
踩
本地搭建hexo过程详见hexo官网,步骤比较详细,按照步骤搭建即可
我使用的Butterfly主题,主题配置请查看Butterfly安装文档
使用云服务商提供的远程登陆登录进云服务器,可以现在服务商设置中设置 root 用户的密码以提高安全性。
使用 root 用户,安装nginx。
yum install -y nginx
启动nginx
systemctl start nginx
修改配置文件
# 进入路径
cd /etc/nginx
# 使用vim编辑器编辑配置文件
vim nginx.conf
输入 i 进入 insert 模式,并进行如下修改:
curl -sL https://rpm.nodesource.com/setup_14.x | bash -
# 这里的setup_14.x指Node.js14的版本,可以改为其他版本,建议不要太低,hexo一些主题的Node.js版本都比较高。
yum install -y nodejs
安装完成之后,可以执行命令查看是否安装成功
node -v
npm -v
主要是让我们的PC可以通过ssh的方式连接到云服务器,然后可以通过 deploy 的方式将我们的博客推到服务器上
安装 Git
yum install git
安装结束后配置 git 用户
adduser git
修改用户的权限
chmod 740 /etc/sudoers
vi /etc/sudoers
在 sudoers 文件中添加
git ALL=(ALL) ALL
保存退出后将 sudoers 文件的权限改回
chmod 400 /etc/sudoers
设置 git 用户的密码
passwd git
切换到 git 用户,并创建 .ssh 文件夹和公钥密钥文件
# 切换到 git 用户
su git
cd ~
mkdir .ssh && cd .ssh
# 生成公钥和密钥文件
ssh-keygen
# 然后一路 enter 键即可,此时在目录下有两个文件,密钥 id_rsa 和公钥 id_rsa.pub ,接下来复制一份公钥
cp id_rsa.pub anthorized_keys
# 然后修改它的权限
chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh
接下来在我们自己的本地,打开 cmd,尝试使用 ssh 方式连接到我们的云服务器。
ssh -v git@云服务器的公网IP地址
提示:第一次登录,服务器会让你确认是否连接,输入 yes 进入下一步,然后服务器会让你输入 git 用户的密码,输完密码后回车即可。
当然这里也可以用其他方法,让服务器与 PC 建立 ssh 信任关系,这样就不需要输入密码了。
如果为了安全起见,还可以将 git 用户的 shell 登录权限禁用。
出现 Welcome to Alibaba Cloud Elastic Compute Service ! 或其他类似的语句,就说明登录成功了。
接下来需要创建一个新的 git 仓库,并且新建一个 post-update 文件(有些 git 版本可能是 post-receive ,注意分辨即可)。
cd ~
git init --bare blog.git
vi ~/home/git/blog.git/hooks/post-update
在post-update文件添加以下内容
–work-tree路径和nginx配置文件中root路径保持一致
git --work-tree=/home/blog --git-dir=/home/git/blog.git checkout -f
添加结束后修改权限
chmod +x ~/home/git/blog.git/hooks/post-update
exit # 退出到 root 登录
chown -R git:git /home/git/blog.git # 添加权限
找到项目中hexo 的配置文件 _config.yml,找到deploy配置,进行修改
deploy:
type: git
repo: git@云服务器的公网IP:/home/git/blog.git
branch: master
message:
发布到服务器
hexo clean
hexo g -d
然后我们就可以在本地主机浏览器上输入域名或者公网IP访问我们的博客了。
Q:部署到云服务器,出现了 403 界面怎么办?
A: 403 为禁止访问,nginx 服务器没有获得你的路径的读取的权限,检查是否给予了 post-update 权限 chmod +x ~/home/git/blog.git/hooks/post-update。如果还不行可以尝试使用 chmod -R 777 /home/blog。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。