快速开始
准备工作
- 服务器
我的配置:阿里云轻量服务器 1核2G 40G SSD 5M峰值宽带 CentOS 7.3
本地生成ssh,参考之前的文章。。。生成之后备用
1
2
3git config --global user.name "GitHub用户名"
git config --global user.email "GitHub的邮箱"
ssh-keygen -t rsa -C "GitHub的邮箱"开放服务器8888端口,轻量在安全-防火墙中开启:
远程连接服务器
阿里云可以从控制台直接连接:
- 输入以下命令,切换到root账号
1 | sudo su root |
- 安装Git,继续输入y直到出现Complete,安装成功
1
yum install git
创建Git账户
- 创建Git用户并给予账户权限
1
2
3adduser git
chmod 740 /etc/sudoers
输入下面的命令,回车之后,进入编辑界面。
1 | vim /etc/sudoers |
这里先点击 “i” 键,进入编辑模式,用方向键找到这个地方:
1 | ## Allow root to run any commands anywhere |
添加以下内容:
1 | git ALL=(ALL) ALL |
输完然后按 “Esc” 键,此时最底下的—INSERT—消失,再输入 :wq
,保存退出
改回权限
1
chmod 400 /etc/sudoers
设置git账户密码
1 | sudo passwd git |
输入两次密码就设置成功了,linux下输入密码是不显示的,你直接输入,输完回车就行
- 切换至git用户,创建
~/.ssh
文件夹和~/.ssh/authorized_keys
文件,并赋予相应的权限
1 | su git |
按”i”进入编辑模式,将我们在本地生成的id_rsa.pub文件中的公钥复制到authorized_keys中,按”esc”,然后输入:wq
保存
- 赋予权限
1
2chmod 600 /home/git/.ssh/authorized_keys
chmod 700 /home/git/.ssh
在电脑本地桌面,右键Git Bash Here,输入一下命令,其中xxx填写自己的云主机ip,执行输入yes后不用密码说明配置成功了。
1 | ssh -v git@xxx |
出现以下报错,直接删除knwo_hosts里的第二行,不管用就全删了,部署时可能需要输入密码
出现Welcome to Alibaba Cloud Elastic Compute Service!便成功了一半。
创建Git仓库
切换回root用户,一定要切换回来,避免重来,如果还显示Git用户,最好重启终端切换。
1
sudo su root
在var目录下创建repo作为Git仓库目录:
1
mkdir /var/repo
赋予权限:
1
2chown -R git:git /var/repo
chmod -R 755 /var/repo创建hexo目录作为网站根目录,并赋予权限:
mkdir /var/hexo
chown -R git:git /var/hexo
chmod -R 755 /var/hexo
接下来创建一个空白的git仓库
1
2cd /var/repo
git init --bare hexo.git创建一个新的 Git 钩子,用于自动部署.
在 /var/repo/hexo.git
下,有一个自动生成的hooks文件夹。我们需要在里边新建一个新的钩子文件post-receive
1 | vim /var/repo/hexo.git/hooks/post-receive |
- 进入编辑模式,然后将下面两行代码粘贴进去,
:wq
保存退出。1
2#!/bin/bash
git --work-tree=/var/hexo --git-dir=/var/repo/hexo.git checkout -f - 修改权限:到这里Git仓库已经搭建完毕了
1
2
3chown -R git:git /var/repo/hexo.git/hooks/post-receive
chmod +x /var/repo/hexo.git/hooks/post-receive
配置Nginx
宝塔一键部署
为了部署和维护,小白喜欢使用宝塔面板来一键部署Nginx
1 | yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && bash install.sh |
中途输入”y”回车等待一会就好了,执行完最后会出现地址,用户名,密码
如果忘记了宝塔用户名密码,可以去你服务器终端输入:
1 | cd /www/server/panel && python tools.py panel testpasswd |
宝塔默认密码查询命令
1 | /etc/init.d/bt default |
初次登录宝塔面板可以一键部署Nginx,PHP,MySQL一整套,版本任选。部署完成之后,点击网站,添加站点,填写你的域名,没有的话写你的服务器ip地址。hexo不用创建FTP数据库等,PHP版本选择纯静态,提交后转入设置页面
1 | server |
网站目录改为
1 | /var/hexo |
回到服务器终端,重启宝塔面板
1 | service bt restart |
若服务器配置不足宝塔可能不方便,请参考Nginx 安装配置和
Hexo部署在阿里云教程
本地配置
修改根目录配置
1 | deploy: |
hexo三连便可部署到服务器啦
常见报错
- Please make sure you have the correct access rights
- 重新添加ssh
- 确保域名解析已生效
- 确保新建Git仓库后切换为root用户
- repo如果填写域名不行就换IP
- 总之从头再来几遍就好了(反正我是删库重来)
顺便记录一下如何查询仓库是否正确建立
- 可以打开宝塔面板查看路径是否存在
- 本地空文件夹下打开Git Bash输入若能clone下来说明仓库正常
1
git clone git@server_ip:/var/repo/hexo.git
部署成功无法访问
可能是未配置ssl证书,原本默认跳转https
下载你的ssl证书,添加到配置并打开强制https
终于看到了以前用着百万账单的腾讯CDN的绿色