记录一下服务器的搭建及配置
- 部署服务器
- 安装Git并部署自动发布
- 添加post-receive钩子
- 结语
准备搭建一个Laravel框架的项目,就记录一下从新的服务器一步一步搭建的步骤,方便下来查看。
部署服务器
登录服务器
#ssh root@服务器的IP
在这因为之前我通过公钥方式绑定过服务器,初始化服务器之后需要把对应的登录信息删除掉才可以
错误信息:
解决方式
1.在客户端执行指令: #vi ~/.ssh/known_hosts
2.把与所要连接IP(例如:10.10.10.10)相关的内容删掉。
下载并安装LNMP一键安装包
我使用的方法是LNMP一键安装包
官网地址:https://lnmp.org/
#wget http://soft.vpser.net/lnmp/lnmp1.7-full.tar.gz
下载完成后进行解压
# tar -zxvf lnmp1.7-full.tar.gz
解压完成之后进入对应的目录
# cd lnmp1.7-full/
执行安装命令
# ./install.sh
选择对应软件的版本,并进行安装
安装完成
安装Git并部署自动发布
下载并安装Git
# yum -y install git
查看Git版本信息
# git --version
安装完成
创建Git用户
# adduser git
创建git用户的目录
# mkdir -p /home/git/.ssh
进入git用户目录,并创建authorized_keys
# touch authorized_keys
将Git目录权限赋值给git用户
# cd /home
# chown -R git.git git/
需要将authorized_keys文件赋予600权限,不然免密提交的时候会报错
# chmod 600 /home/git/.ssh/authorized_keys
初始化Git仓库
建议将版本仓库创建在比较相对独立并统一维护的目录,我这里创建在了git目录下
# cd /home/git/
# git init --bare project.git
由于目前使用的用户是root用户,所以需要将目录权限改成刚才创建的git用户下
# chown -R git.git project.git
创建项目目录
因为已经有了仓库,直接进行克隆就可以
# cd /home/wwwroot/
# git clone /home/git/project.git
因为需要完成自动上传代码,所以需要将项目目录的权限修改成git用户权限
# chown -R git.git project/
克隆仓库到本地【在本地机器上运行】
# git clone git@10.10.10.10:/home/git/project.git
因为已经将本地公钥添加到线上服务器上,所以不用输入密码,即可进行克隆
测试Git文件上传
// 进入项目目录
# cd project
// 创建测试文件
# touch Test.md
# git add Test.md
# git commit -m 'TEST'
// 推送
# git push
目前到此则是Git搭建成功了,下一步,需要设置post-receive钩子,这样在push推送成功之后,服务器会自动运行设置的操作,进行线上代码自动更新
添加post-receive钩子
// 在服务器上,打开仓库中的hooks文件夹
# cd /home/git/project.git/hooks
// 生成 post-receive 文件
# touch post-receive
// 编辑 post-receive 文件
# vim post-receive
在post-receive文件中复制下面命令
#!/bin/sh
# 我的项目是/home/wwwroot/project/
cd /home/wwwroot/project/
unset GIT_DIR
git config --list
git pull origin master
保存退出后,将post-receive文件权限改成git用户权限
# chown -R git.git post-receive
给post-recrive文件添加上运行权限
# chmod +x post-receive
完成,可以在本地修改Test.md文件,在进行上传,看看服务器上是否自动同步了~~~
结语
第一次整理了这么详细的操作步骤,如果有什么错误的地方,谢谢大家指正