将hexo从本地部署到腾讯云服务器
服务器配置
部署环境与准备
1.环境
本地macOS操作系统
腾讯云Cenots7.6服务器
2,云服务器端配置 git
1,安装依赖库
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel
2,安装编译工具
yum install gcc perl-ExtUtils-MakeMaker package
3,下载git
1,选择一个目录来存放下载下来的 git 安装包。这里选择了/usr/local/src
目录
cd /usr/local/src
2,到官网找一个新版稳定的源码包下载到 /usr/local/src
文件夹里
wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.19.6.tar.gz
4,解压编译git
1,在当前目录下解压git-2.19.6.tar.gz
tar -zvxf git-2.19.6.tar.gz
2,进入git-2.19.6.tar.gz目录下
cd git-2.19.6
3,执行编译
make all prefix=/usr/local/git
4,安装git到/usr/local/git
目录下
make install prefix=/usr/local/git
5,配置git环境变量
1,将git加入PATH目录中
echo 'export PATH=$PATH:/usr/local/git/bin' >> /etc/bashrc
2,使 git 环境变量生效
source /etc/bashrc
6,查看git版本
git --version
如果此时能查看到 git 的版本号,说明我们已经安装成功了。
7,创建git用户并且修改权限
adduser stone # 新建用户
passwd stone # 设置密码
chmod 740 /etc/sudoers # 给予权限
vim /etc/sudoers
root ALL=(ALL) ALL
stone ALL=(ALL) ALL
8,本地macOS使用Gitbash创建密钥
ssh-keygen -t rsa
pwd #查看路径用用vim打开,复制密钥
ssh-keygen -R 你要访问的IP地址
9,将本地创建id_rsa.pub中复制的密钥粘贴到服务器上(服务器上操作)
su stone
mkdir ~/.ssh
vim ~/.ssh/authorized_keys # 将本地创建id_rsa.pub中复制的密钥粘贴进去
10,在macos终端上测试连接
ssh -v stone@服务器ip
云服务器端网站配置
1.创建网站目录并且设置权限
su root
mkdir /home/hexo
chown stone:stone -R /home/hexo
chmod -R 777 /home/hexo/
2.安装nginx
yum install -y nginx
3.启动nginx
systemctl start nginx.service # 启动服务
4.测试nginx服务器
wget http://127.0.0.1
# 能够正常获取以下欢迎页面说明Nginx安装成功。
Connecting to 127.0.0.1:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 43704 (43K) [text/html]
Saving to: ‘index.html’
100%[=======================================>] 43,704 --.-K/s in 0s
2018-03-09 23:04:09 (487 MB/s) - ‘index.html’ saved [43704/43704]
5.测试网页是否能打开
在浏览器中输入服务器 ip 地址,就是服务器的公网 ip。
6.修改nginx配置文件
vim /etc/nginx/nginx.conf
按方向键,找到如下位置http配置
server {
listen 80 default_server;
listen [::]:80 default_server;
root /home/hexo; #需要修改
server_name www.shiyunhao.cn; #需要修改
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
location / {
}
error_page 404 /404.html;
location = /40x.html {
}
按方向键,找到如下位置https配置
# Settings for a TLS enabled server.
server {
listen 443 ssl;
ssl on;
server_name www.shiyunhao.cn; #域名
root /home/hexo; #网站主目录
ssl_certificate /etc/nginx/ssl/www.shiyunhao.cn.crt; #crt文件路径
ssl_certificate_key /etc/nginx/ssl/www.shiyunhao.cn.key; #key文件路径
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
# Load configuration files for the default server block.
include /etc/nginx/default.d/*.conf;
#默认请求
location / {
root /home/hexo;
#定义首页索引文件名称
index index.html;
}
}
通过Filezilla 软件来上传ssl证书到
/etc/nginx/ssl/
查看是否有报错,无报错重启服务器
nginx -t
systemctl restart nginx.service
建立git仓库
su root
cd /home/stone
git init --bare blog.git
chown fuchen:fuchen -R blog.git
同步网站根目录
vim blog.git/hooks/post-receive
#!/bin/sh
git --work-tree=/home/hexo --git-dir=/home/stone/blog.git checkout -f
修改权限
chmod +x /home/fuchen/blog.git/hooks/post-receive
至此,服务器端配置就结束了。接下来,就剩下本地 hexo 的配置更改了。
本地安装hexo(操作系统macOS)
安装Node.js
打开终端,安装hexo
sudo su # 切换到root用户
node -v # 查看node版本,确认安装没问题
npm -v # 查看npm版本
npm install -g cnpm --registry=https://registry.npm.taobao.org # 安装cnmpn,切换到淘宝镜像源
cnpm -v # 查看cnpm版本
cnpm install -g hexo-cli # 利用cnpm全局安装hexo
hexo -v # 查看hexo版本
pwd # 查看当前路径
mkdir myblog # 新建myblog文件夹
cd myblog # 进入myblog文件夹
sudo hexo init # 在myblog文件夹里面初始化一个博客,自动拉取安装git
hexo s # 在本地启动hexo
hexo在本地安装成功.
新建博客
hexo n "我的第一篇文章"
vim /source/_posts/我的第一篇文章.md # 编辑新建的第一篇博客
hexo clean # 清理一下
hexo g # 重新生成
hexo s # 重新在本地启动hexo,查看刚刚新建的文章
本地hexo参数配置
配置本地hexo中的_config.yml文件,格式如下:
# Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
type: git
repository: stone@43.154.78.253:/home/stone/blog.git # 替换自己服务器ip和自己自定义仓库名
branch: master
保存退出了,到hexo目录下执行以下命令:
#安装git部署插件
cnpm install --save hexo-deployer-git
#生成静态文件
hexo g
#推送到git,过程中会要求你输入服务器密码
hexo d
gitee码云 hexo-theme-matery
评论区