置顶
一个可访问域名+腾讯云服务器一台+centos7.6+hexo+nexmoe二次元主题
nginx
安装nginx做域名代理和访问静态文件
//安装nginx前置依赖
yum install -y gcc-c++
//nginx 的 http 模块使用 pcre 来解析正则表达式
yum install -y pcre pcre-devel
//nginx 使用 zlib 对 http 包的内容进行 gzip
yum install -y zlib zlib-devel
//nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库
yum install -y openssl openssl-devel
//开始下载nginx源码
//选择的为官方稳定版
//使用wget命令下载(推荐)。确保系统已经安装了wget,如果没有安装,执行 yum install wget 安装。
wget -c https://nginx.org/download/nginx-1.18.0.tar.gz
//解压直接命令:
tar -zxvf nginx-1.18.0.tar.gz
cd nginx-1.18.0
//配置和编译
//这里选择了默认配置
./configure
//编译安装
make && make install
//安装之后此时没有全局命令
//可以选择进入/usr/local/nginx/sbin内用命令nginx
//也可以在~/.bashrc中配置全局变量
cd ~
vim .bashrc
//在尾部添加
export PATH=$PATH:/usr/local/nginx/sbin
配置nginx
#修改启动配置文件
source .bashrc
#使用全局命令启动
nginx
#nginx -s reload为重载修改配置用它即可 nginx -s stop为停止
#修改配置文件配置nginx代理到hexo生成到静态文件夹
#假定静态目录为/www/hexoblog
cd /usr/local/nginx/conf
vim nginx.default
#在第80行左右添加保存
include /usr/local/nginx/conf/vhosts/*;
#表示会引入vhosts文件夹下面所有配置
mkdir vhosts
cd vhosts
vim hexo_test.conf
#新建hexo配置添加
server{
listen 80;
server_name blog.chuckwe.com; #请修改为自己的域名
location /{
root /www/hexoblog; #请修改为自己到目录
index index.html index.htm;
}
}
#443 https请自行配置
#保存退出
#检查是否ok
nginx -t
#重载nginx
nginx -s reload
nginx配置完成后就要配置git这个将会和服务器联动
git配置
先安装git服务
yum install git即可
#初始化一个空白的git文件夹
mkdir -pv /www/repo
#创建一个装部署的静态文件html的文件夹,也是nginx解析过来的目录
mkdir -pv /www/hexoblog
#创建一个git用户只用来git push不能shh
sudo adduser git
sudo vim /etc/passwd
#修改
git:x:1001:1001:,,,:/home/git:/bin/bash
#改为:
git:x:1001:1001:,,,:/home/git:/usr/bin/git-shell
#这一步是为了禁止git用户访问服务器只能以git的方式访问
#进入/home/git用户
cd /home/git
#如果没有.ssh文件夹就创建一个
#然后将本机id_rsa.pub上传到服务器
cd .ssh
#将本机生成到id_rsa.pub复制写入授权文件git用户即可访问
vim authorized_keys
#然后在/www/repo文件夹开始创建空git目录
cd /www/repo
git init --bare blog.git
cd /www/repo/blog.git/hooks
vim post-receive
#添加
#!/bin/sh
git --work-tree=/www/hexoblog --git-dir=/www/repo/blog.git checkout -f
#保存后别忘记给执行权限
chmod +x post-receive
#因为两个文件夹都需要git用户操作所以将文件夹给予git管理即可
chown -R git:git /www/repo/blog.git
chown -R git:git /www/hexoblog
hexo配置
最后配置本地文件
#在_config.yml后面修改deploy参数
#Docs: https://hexo.io/docs/deployment.html
deploy:
type: git
repo: git@ip地址或域名:/www/repo/blog.git
branch: master
执行
hexo generate --deploy
后序
如果有报错的情况请根据具体情况自行分析
整个流程大约是 nginx解析域名到静态目录,本地更新后以deploy方式git push到服务器,然后git hook监听同时检出到静态目录
来源于个人博客: blog.chuckwe.com