一、搭建远程Git私库
1、安装git
git --version // 如无,则安装
yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel perl-devel
yum install -y git
2、创建用户并配置其仓库
useradd git
passwd git // 设置密码
su git // 这步很重要,不切换用户后面会很麻烦
cd /home/git/
mkdir -p projects/blog // 项目存在的真实目录
mkdir repos && cd repos
git init --bare blog.git // 创建一个裸露的仓库
cd blog.git/hooks
vi post-receive // 创建 hook 钩子函数,输入了内容如下
#!/bin/sh
git --work-tree=/home/git/projects/blog --git-dir=/home/git/repos/blog.git checkout -f
3、添加完毕后修改权限
chmod +x post-receive
exit // 退出到 root 登录
chown -R git:git /home/git/repos/blog.git // 添加权限
4、测试git仓库是否可用
git clone git@server_ip:/home/git/repos/blog.git
如果可以通过密码下载,说明git仓库可用
5、建立ssh信任关系,在本地电脑
可以让电脑上传代码不需要输密码
打开Git Bash窗口
ssh-copy-id -i C:/Users/yourname/.ssh/id_rsa.pub git@server_ip
ssh git@server_ip // 测试能否登录
之后发现会拿到git用户的shell,为了安全,还是把交互性的shell关掉,给予gitshell,不过你密码设置复杂就可以;
cat /etc/shells // 查看 git-shell 是否在登录方式里面
which git-shell // 查看是否安装
vi /etc/shells
添加上2步显示出来的路劲,通常在 /usr/bin/git-shell
修改/etc/passwd中的权限
// 将原来的
git:x:1000:1000::/home/git:/bin/bash
// 修改为
git:x:1000:1000:,,,:/home/git:/usr/bin/git-shell
二、搭建nginx环境
1、安装nginx
rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
yum install -y nginx
systemctl start nginx //开启nginx
systemctl status nginx //查询nginx状态
systemctl stop nginx //停止nginx服务
systemctl enable nginx //设置开机自启动
之后通过服务器的公网ip访问是否返回nginx的页面,如果不能访问,查看防火墙或者是安全组里面添加规则放行80端口访问;
访问成功后,配置nginx访问项目地址
2、配置nginx
cd /etc/nginx/conf.d/
vim default.conf
cd /etc/nginx/nginx.conf
vim nginx.conf
三、发布
配置hexo的配置文件
添加repo地址:git@101.200.162.109:/home/git/repos/blog.git
四、添加域名解析
添加域名解析之后
可以通过ip访问,也可以通过域名访问