快速开始
准备工作
- 服务器
我的配置:阿里云轻量服务器 1核2G 40G SSD 5M峰值宽带 CentOS 7.3
- 本地生成ssh,参考之前的文章。。。生成之后备用 - 1 
 2
 3- git 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 
 2- chown -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 
 2- cd /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的绿色





