正好腾讯云的服务器无忧计划做活动整了一天无忧服务器来搭建网站,在上边运行了一个网站感觉有点浪费。就把我安放在github和coding的网站挪到服务器上吧!
整体路线:
在github我们是通过git仓库存储的,所以在服务器上也是需要git仓库
在本地生成静态文件,通过hexo d推送到远程生成网站
通过git-hooks实现自动部署到网站资源目录
Nginx做静态文件服务器,实现外界对网站资源目录的访问
环境准备: 安装宝塔
Centos安装命令:
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh
试验性Centos/Ubuntu/Debian安装命令 独立运行环境(py3.7) 可能存在少量兼容性问题 不断优化中
curl -sSO http://download.bt.cn/install/install_panel.sh && bash install_panel.sh
Ubuntu/Deepin安装命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && sudo bash install.sh
Debian安装命令:
wget -O install.sh http://download.bt.cn/install/install-ubuntu_6.0.sh && bash install.sh
Fedora安装命令:
wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh
安装成功如下边显示
外网面板地址: https://haojindo.cn:8888 #用来访问面板
内网面板地址: https://haojindo.cn:8888
*以下仅为初始默认账户密码,若无法登录请执行bt命令重置账户/密码登录
username: ehgolis7m #记住用户名和密码
password: dsjf121d #忘记可使用sudo /etc/init.d/bt default查看
If you cannot access the panel,
release the following panel port [8888] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口 #安全组注意放行,轻量级服务器为防火墙
然后我们选择lnmp极速安装
然后回到宝塔里添加站点
<img src="https://gitee.com/Surmounter/img/raw/master/image/image-20210901153331237.png" alt="image-20210901153331237" style="zoom: 67%;" />
二,开始git仓库的搭建
之前推hexo的静态文件都是推到GitHub的仓库,现在服务器也是一样,需要仓库来保存
安装git
yum install -y git
添加一个用户
adduser git #添加git用户
chmod 740 /etc/sudoers #改变sudoers文件的权限为文件所有者可写
vim /etc/sudoers
#在root ALL=(ALL) ALL 下方添加一行
git ALL=(ALL) ALL
chmod 400 /etc/sudoers #将其权限修改为文件所有者可读
给git用户添加ssh密钥
复制公匙id_rsa.pub内容到服务器/home/git/.ssh/authorized_keys,关闭终端,使用ssh git@server_ip
重新登录服务器,测试是否能不要密码登录到git用户,如出现Permission denied的问题可尝试文章末尾的解决办法
#在主机端打开powershell,cd到C:\Users\admin\.ssh生成密匙,如已有密匙可跳过这一步
ssh-keygen -t rsa -C "taitres.cc"
# -t 指定密钥类型,默认是 rsa ,可以省略
# -C 用于识别这个密钥的注释,可以输入任何内容
# -f 指定密钥文件存储文件名,默认id_rsa
#在服务器端
su git #切换到git用户
mkdir -p ~/.ssh
touch ~/.ssh/authorized_keys #创建authorized_keys文件
chmod 600 ~/.ssh/authorized_keys #为authorized_keys文件赋予文件所有者可读可写的权限
chmod 700 ~/.ssh #为.ssh文件夹赋予文件夹所有者可读可写可执行的权限
创建Git仓库
sudo mkdir /home/git/repos #新建目录,这是git仓库的位置
cd /home/git/repos
sudo git init --bare zhujianblog.git #初始化一个名叫zhujianblog的仓库
配置钩子实现自动部署
找到 /home/git/repos/zhujianblog.git/hooks
然后给权限
cd zhujianblog.git/hooks/
sudo chmod +x post-revice #赋予其可执行权限
sudo chown -R git:git /home/git/repos/ #仓库所有者改为git
sudo chown -R git:git /www/wwwroot/blog.haojindo.cn/ #站点文件夹所有者改为git
vi post-revice # 创建钩子
##添加内容
#!/bin/sh
git --work-tree=/www/wwwroot/taitres.cc --git-dir=/home/git/repos/taiblog.git checkout -f
测试Git仓库是否可用
#在主机端,如果能将仓库拉下来,说明Git仓库搭建成功git clone git@server_ip:/home/git/repos/blog.git
大功告成
本地配置和测试
类似于github一样设置
本地配置
deploy:
type: git
repo: git@server:/home/git/repos/zhujianblog.git
branch: master
测试
hexo clean #清除缓存
hexo generate #生成静态页面
hexo delopy #将本地静态页面目录部署到云服务器
HOT