hexo本地博客部署到云服务器
2021/11/19 6:40:23
本文主要是介绍hexo本地博客部署到云服务器,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
hexo本地博客部署到云服务器
1 准备工作
在开始部署之前,你需要做如下准备:
- 本地搭建完成的博客
- 一台windows/mac电脑(如果你的电脑是linux应该不用看本篇教程吧)
- 一台云服务器(理论上来说任何服务商都可以,本教程以腾讯云为例)
- 本地电脑安装一个ssh连接工具(或者bash终端)
- 可能会多次失败也不怕重来的决心:)
2 安装配置git
1 安装依赖工具包
yum install -y curl-devel expat-devel gettext-devel openssl-devel zlib-devel
2 安装编译工具
yum install -y gcc perl-ExtUtils-MakeMaker package
3 删除旧版本git
yum remove git -y
4 进入家目录
cd
5 下载git到家目录
鉴于下载地址的时效性,附上官网地址,后续git更新请去官网下载安装包。
wget https://www.kernel.org/pub/software/scm/git/git-2.34.0.tar.gz --no-check-certificate
如果提示没有wget命令,先安装:
yum install wget -y
6 解压文件
tar -zxf git-2.34.0.tar.gz
7 安装git
进入到git目录下
cd git-2.34.0
编译
make all prefix=/usr/local/git
安装git到/usr/local/git
下
make install prefix=/usr/local/git
8 配置git环境变量
将git加入PATH
目录中
echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
使配置生效
source /etc/bashrc
查看git版本
git --version
如果能查看到git的版本号,说明安装成功。
3 创建用户并配置SSH免密登录
1 创建用户并设置密码
这里的username
改成你自己的用户名,并且为用户设置一个密码。
adduser [username] passwd [username]
2 为用户分配权限
把用户添加到wheel组
usermod [username] -G wheel
3 本地创建密钥
在本机电脑终端输入:
ssh-keygen -t rsa
然后一直回车,新建一个密钥。
一般来说在你创建的时候命令行会提示你密钥文件的路径,windows电脑一般是C:\Users\Administrator\.ssh
复制id_rsa.pub
文件中的内容备用。
4 配置公钥
回到服务器终端,切换用户
su - yyyz
创建.ssh
文件夹
mkdir .ssh
新建authorized_keys
vim .ssh/authorized_keys
如果提示没有vim,则先安装:
sudo yum install -y vim
将刚刚id_rsa.pub
公钥中的内容,复制粘贴到文件里,保存退出。
4 git仓库配置
退出用户登录
exit
此时应该是root用户,创建git目录,并修改目录的所有权和用户权限
mkdir /home/git/ chown -R [username]:[username] /home/git/ chmod -R 755 /home/git/
进入目录,建立git仓库,修改权限
cd /home/git/ git init --bare blog.git chown [username]:[username] -R blog.git
新建钩子文件 post-receive
vim /home/git/blog.git/hooks/post-receive
进入文本编辑器,粘贴下面两行。
#!/bin/bash git --work-tree=/home/blog --git-dir=/home/git/blog.git checkout -f
保存退出。然后修改文件权限
chmod +x /home/git/blog.git/hooks/post-receive
5 nginx配置
首先创建blog
目录用户nginx转发
mkdir /home/blog/ chown -R [username]:[username] /home/blog/ chmod -R 755 /home/blog/
1 第一种方法安装nginx
两种方法任选其一,如果yum安装成功就不用第二种。
yum install -y nginx
启动nginx
systemctl start nginx.service
查看nginx服务状态,绿色的active说明启动成功
systemctl status nginx.service
2 第二种方法安装nginx
针对yum无法安装的情况,这里介绍第二种方法,源码安装。
回到家目录
cd
下载安装包,鉴于下载地址的时效性,附上官网地址
wget http://nginx.org/download/nginx-1.21.4.tar.gz
解压
tar -zxf nginx-1.21.4.tar.gz
进入目录,编译安装
cd nginx-1.21.4 ./configure make install prefix=/usr/local/nginx
配置nginx环境变量,并使环境变量生效
echo 'export PATH=$PATH:/usr/local/nginx/sbin' >> /etc/bashrc source /etc/bashrc
查看nginx版本号
nginx -v
配置Systemd服务
vim /lib/systemd/system/nginx.service
在文本编辑器中粘贴以下内容:
[Unit] Description=nginx After=network.target [Service] Type=forking ExecStart=/usr/local/nginx/sbin/nginx ExecReload=/usr/local/nginx/sbin/nginx -s reload ExecStop=/usr/local/nginx/sbin/nginx -s quit PrivateTmp= true [Install] WantedBy=multi-user.target
内容说明:
[Unit]:服务的说明 Description:描述服务 After:描述服务类别 [Service]服务运行参数的设置 Type=forking是后台运行的形式 ExecStart为服务的具体运行命令 ExecReload为重启命令 ExecStop为停止命令 PrivateTmp=True表示给服务分配独立的临时空间 注意:[Service]的启动、重启、停止命令全部要求使用绝对路径 [Install]运行级别下服务安装的相关设置,可设置为多用户,即系统运行级别为3
设置开机自启动
systemctl enable nginx.service
重启电脑
reboot
重启后,查看nginx服务状态,绿色的active说明启动成功
systemctl status nginx.service
3 修改nginx转发配置
在浏览器中输入服务器公网ip地址,测试是否能打开。
查看nginx的默认配置文件的安装位置
nginx -t
修改nginx的默认配置,其中cd后边就是刚刚查到的安装位置,每个人可能都不一样,我这里是/usr/local/nginx/conf/nginx.conf
vim /usr/local/nginx/conf/nginx.conf
在文本编辑器中找到如下位置
server { listen 80 default_server; listen [::]:80 default_server; root /home/blog; # 修改为创建的blog目录地址 server_name www.example.com; # 需要修改为你的域名(或者公网ip) # Load configuration files for the default server block. include /etc/nginx/default.d/*.conf; location / { } error_page 404 /404.html; location = /40x.html { }
保存退出。重启nginx服务
systemctl restart nginx.service
6 在hexo站点配置文件中配置
打开你本地的hexo博客所在文件,打开站点配置文件_config.yml
deploy: type: git repository: [username]@100.0.0.100:/home/git/blog.git #用户名@服务器Ip:git仓库位置 branch: master
在本地hexo博客根目录下,打开终端,部署
hexo clean hexo g hexo d
打开浏览器输入你的服务器公网ip,应该已经部署成功了。
7 附:nginx常用命令
# 停止开机自启动 systemctl disable nginx.service #设置nginx服务开机自启动 systemctl enable nginx.service #启动nginx服务 systemctl start nginx.service #停止nginx服务 systemctl stop nginx.service #重启nginx服务 systemctl restart nginx.service #重新读取nginx配置(这个最常用, 不用停止nginx服务就能使修改的配置生效) systemctl reload nginx.service # 查看服务当前状态 systemctl status nginx.service # 查看所有已启动的服务 systemctl list-units --type=service
这篇关于hexo本地博客部署到云服务器的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-26大厂数据结构与算法教程:入门级详解
- 2024-12-26大厂算法与数据结构教程:新手入门指南
- 2024-12-26Python编程入门指南
- 2024-12-26数据结构高级教程:新手入门及初级提升指南
- 2024-12-26并查集入门教程:从零开始学会并查集
- 2024-12-26大厂数据结构与算法入门指南
- 2024-12-26大厂算法与数据结构入门教程
- 2024-12-26二叉树入门教程:轻松掌握基础概念与操作
- 2024-12-26初学者指南:轻松掌握链表
- 2024-12-26平衡树入门教程:轻松理解与应用