hexo部署服务器
hexo部署服务器
Zephyr0nehexo部署到服务器
默认熟悉hexo、服务器相关知识,并且之前是操作部署过GitHub Page,现在想部署到自己服务器上面的bloger
服务器
下载git、nginx
yum install -y nginx git
添加ssh密钥
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorzied_keys
chmod 700 ~/.ssh
vim ~/.ssh/authorized_keys
#将自己本地.ssh文件下的id_rsa.pub公钥复制到authorized_keys中去创建git仓库并使用git-hooks实现自动部署
sudo mkdir -p /data/rep #新建目录,这是git仓库的位置
sudo mkdir pp /data/hexo
cd /data/rep #转到git仓库的文件夹
sudo git init --bare blog.git #创建一个名叫blog的仓库
sudo vim /data/rep/blog.git/hooks/post-update
#将下面内容复制进去
git --work-tree=/data/hexo --git-dir=/data/rep/blog.git checkout -f配置nginx配置
#监听443端口
server {
listen 443 ssl;
server_name 域名;
#如果不配置ssl证书,则忽略或注释ssl相关的配置
#证书文件名称
ssl_certificate /容器内地址;
#私钥文件名称
ssl_certificate_key /容器内地址;
ssl_session_timeout 5m;
#请按照以下协议配置
ssl_protocols TLSv1.2 TLSv1.3;
#请按照以下套件配置,配置加密套件,写法遵循 openssl 标准。
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
charset utf-8;
location / {
proxy_ssl_server_name on;
proxy_ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
proxy_ssl_session_reuse off;
#一定是容器内部地址,如果挂载了文件,需要去查看对应的路径
root /容器内地址;
index index.html index.htm;
#try_files $uri $uri/ index.html;
}
#图片缓存时间设置
location ~ .*.(gif|jpg|jpeg|png|bmp|swf)$
{
expires 10d;
}
}
#监听80端口
server {
listen 80 ;
server_name 域名;
#强制将http重定向为https请求
return 301 https://$host$request_uri;
}如果是用docker部署的nginx镜像服务则:
docker restart nginx
如果是直接部署nginx服务则:
nginx -t
nginx -s reload解析域名
本地
本地环境默认安装node、npm、git
修改根目录下的config文件
deploy:
type: git
repo: root@ip地址 :/data/rep/blog.git
branch: master执行一键三连
hexo cl && hexo g && hexo d
到服务器查看是否推送最新代码到指定的git仓库
cd /data/hexo
ll
#查看最新更新时间是否是刚更新的同步此文件内容到nginx挂载的html文件中
rsync -avz /data/hexo/ /data/nginx/page/hexo/
查看nginx目录下的文件是否更新
访问测试,打开浏览器,输入域名看是否正常
评论
匿名评论隐私政策