简单利用git部署网站到服务器

传统部署网站到服务器的方法一般是FTP,但是这样会有一些问题,比如一个是上传速度慢,再一个是不能进行版本控制。
常用的一个分布式版本控制工具就是git,关于git的详细使用方法可以参考廖雪峰Git教程

准备

首先你得有一个主机作为服务器,可以ssh登录,假设服务器信息如下

host: blinkdr.test
user: blinkdr
passwd: 123456
siteroot: /home/blinkdr/public_html  //网站根目录

另外在本地端和服务器端都应安装好了git工具,简单利用git部署网站的基本原理如下

这里写图片描述

当本地代码仓push时,会触发服务器端git的一个钩子(post-receive),从而执行checkout到网站目录的命令。

服务器端仓库配置

1.新建一个目录作为远程代码仓库

mkdir ~/test.git //客户端代码都提交到这里

2.初始化代码仓

cd test.git
git init --bare //这里一定要加--bare选项

3.复制配置文件

cd hooks
cp post-receive.sample post-receive

4.编辑post-receive内容

#!/bin/bash
#
SITEROOT=/home/blinkdr/public_html
#清楚没有git add的文件和目录
git --work-tree=${SITEROOT} clean -fd
#从仓库中强制checkout代码
git --work-tree=${SITEROOT} checkout -f

客户端设置

1.新建本地文件夹并与服务器仓库关联

mkdir test
cd test
git init
git remote add origin blinkdr@blinkdr.test:/home/blinkdr/test.git
//这里会让你输入用户'blinkdr'的密码'123456'
//若不想输入密码,则需要将本地客户端的'id_rsa.pub'文件中的内容添加到服务器中'/home/blinkdr/.ssh'目录下的authorized_keys文件中

2.编辑本地文件提交服务器

touch test.php
echo "<?php echo 'hello world'; ?>" >> test.php
git add test.php
git commit -m "new a file test.php"
git push origin master

3.查看效果
通过ssh登录到服务器,查看网站根目录下是否有”test.php”文件。
或者直接访问”http://blinkdr.test/test.php“看是否输出’hello world’(这里假设服务器都已经配置好)。
如果在这过程中,没有部署成功,很大一部分原因是当前用户对网站的根目录没有写的权限,只需对其做权限修改即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值