Git基本操作
1.clone克隆服务器仓库到本地
2.修改后add提交暂存区
3.commit提交git仓库
4.push提交远程服务器
1.部署Git服务器(192.168.2.100作为远程git服务器)
(1)YUM安装Git软件
# yum -y install git
(2)初始化一个空仓库。
# mkdir -p /var/lib/git
# git init /var/lib/git/project --bare
# ls /var/lib/git/project
config description HEAD hooks info objects refs
2.客户端测试(192.168.2.200作为客户端主机)
(1)clone克隆服务器仓库到本地。
# yum -y install git
# git clone root@192.168.2.100:/var/lib/git/project
# cd project
# ls
(2) 修改git配置
# git config --global user.email "you@example.com"
# git config --global user.name "Your Name"
# cat ~/.gitconfig
[user]
email = you@example.com
name = Your Name
(3)本地工作区对数据进行增删改查(必须要先进入仓库再操作数据)。
# echo "init date" > init.txt
# mkdir demo
# cp /etc/hosts demo
(4)查看仓库中数据的状态。
# git status
(5)将工作区的修改提交到暂存区。
# git add .
(6) 将暂存区修改提交到本地仓库
# git commit -m "注释,可以为任意字符"
# git status
(7)将本地仓库中的数据推送到远程服务器(web2将数据推送到web1)。
# git config --global push.default simple
# git push
# git status
(8)将服务器上的数据更新到本地(web1的数据更新到web2)。
# git pull
Git分支操作
常见的分支规范如下:
MASTER分支(MASTER是主分支,是代码的核心)。
DEVELOP分支(DEVELOP最新开发成果的分支)。
RELEASE分支(为发布新产品设置的分 支)。
HOTFIX分支(为了修复软件BUG缺陷的分支)。
FEATURE分支(为开发新功能设置的分支)。
Git服务器
Git支持很多服务器协议形式,不同协议的Git服务器,客户端就可以使用不同的形式访问服务器。创建的服务器协议有SSH协议、Git协议、HTTP协议。
1.SSH协议服务器(支持读写操作)
(1)创建基于密码验证的SSH协议服务器(web1主机操作)。
# git init --bare /var/lib/git/base_ssh
(2)客户端访问的方式(web2主机操作)。
# git clone root@192.168.2.100:/var/lib/git/base_ssh
# rm -rf base_ssh
(3)客户端生成SSH密钥,实现免密码登陆git服务器(web2主机操作)。
# ssh-keygen -f /root/.ssh/id_rsa -N ''
# ssh-copy-id 192.168.2.100
# git clone root@192.168.2.100:/var/git/base_ssh
# git push
2.Git协议服务器(只读操作的服务器)
(1)安装git-daemon软件包(web1主机操作)。
# yum -y install git-daemon
(2)创建版本库(web1主机操作)。
# git init --bare /var/lib/git/base_git
(3)修改配置文件,启动git服务(web1主机操作)
# cat /usr/lib/systemd/system/git@.service
仅查看即可
# systemctl start git.socket
#备注:默认git配置为只读服务器,如果需要读写,则需要修改git@.service配置文件,在git-daemon命令后面添加--enable=receive-pack参数即可。
#另外还需要注意仓库目录的权限问题。
(4)客户端访问方式(web2主机操作)
# git clone git://192.168.2.100/base_git
3.HTTP协议服务器(只读操作的服务器)
(1)安装gitweb、httpd软件包(web1主机操作)。
# yum -y install httpd gitweb
(2)修改配置文件,设置仓库根目录(web1主机操作)
# vim +11 /etc/gitweb.conf
$projectroot = "/var/lib/git";
(3)创建版本仓库(web1主机操作)
# git init --bare /var/lib/git/base_http
(4)启动httpd服务器
# systemctl start httpd
(5)客户端访问方式(web2主机操作)
# firefox http://192.168.2.100/git/
制作nginx的RPM包
软件名称为nginx
软件版本为1.12.2
RPM软件包可以查询描述信息
RPM软件包可以安装及卸载
选项 | 值 |
---|---|
Name | Nginx |
Version | 1.12.2 |
Release | 1 |
Summary | Nginx is a web server software. |
License | Gpl |
URL | www.nginx.org |
Source0 | nginx-1.12.2.tar.gz |
Buil dRequires | gcc pcre-devel zlib-devel openssl-devel |
%description | nginx [engine x] is an HTTP and reverse proxy server… … |
编写systemd Unit文件
unit文件语法格式参考表:
语句 | 描述 |
---|---|
Description | 描述信息 |
After | 在那个服务之后启动 |
Before | 在那个服务之前启动 |
type | 服务类型,默认为simple |
Environ mentFile | 定义标量文件 |
ExecStart | 执行systemctl start 需要启动的进程名称 |
ExecStop | 执行systemctl stop 需要停止的进程名称 |
ExecRleoad | 执行systemctl reload需要执行的命令 |
WantedBy | 依赖当前服务的target |
1.熟悉systemctl常用命令
# systemctl #列出所有启动的服务
# systemctl status <服务名称> #查看服务状态
# systemctl start <服务名称> #启动服务状态
# systemctl stop <服务名称> #关闭服务状态
# systemctl restart <服务名称> #重启服务状态
# systemctl enable <服务名称> #设置开机自启
# systemctl enable --now <服务名称> #设置开机自启并启动
# systemctl disable <服务名称> #禁止开机自启
# systemctl is-active <服务名称> #查看是否激活
# systemctl is-enabled <服务名称> #查看是否开启自启
# systemctl reboot #重启计算机
# systemctl poweroff #关闭计算机
2.使用systemd管理Nginx服务
# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=The Nginx HTTP Server #描述信息
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
#仅启动一个主进程的服务为simple,需要启动若干子进程的服务为forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/bin/kill -s QUIT ${MAINPID}
[Install]
WantedBy=multi-user.target
# systemctl restart nginx
# sysemctl enable nginx
# systemctl stop nignx