一、编译安装git
安装编译需要的依赖
yum -y install curl-devel expat-devel gettext-devel openssl-devel zlib-devel gcc perl-ExtUtils-MakeMaker wget make
获取源码包
cd /opt/ && wget http://mirrors.edge.kernel.org/pub/software/scm/git/git-2.39.0.tar.gz
安装依赖时,yum自动安装了Git,需要卸载旧版本Git,命令为:
yum remove git
解压文件进入解压文件然后开始编译安装(安装目录:/usr/local/bin)
#解压源码包到/opt
tar xf /opt/git-2.39.0.tar.gz -C /opt
#切换目录
cd /opt/git-2.39.0
#编译
make prefix=/usr/local/git all
#安装
make prefix=/usr/local/git install
#清理源码
rm -rf /opt/git-2.39.0*
配置环境变量
echo 'export PATH=$PATH:/usr/local/git/bin' >>/etc/profile
source /etc/profile
git --version
二、编译安装nginx
源码编译三步走:
① ./configure配置
② make编译
③ make install安装
第一步:上传Nginx软件包到Linux服务器端
第二步:联网,安装Nginx软件所需的依赖库
# yum install pcre-devel zlib-devel openssl-devel -y
第三步:对Nginx软件包进行解压缩操作
# tar -xf nginx-1.16.0.tar.gz
第四步:创建一个www账号
# useradd -r -s /sbin/nologin www
第五步:使用./configure对Nginx软件进行配置(对软件安装包进行配置)
# cd nginx-1.16.0
# ./configure --prefix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with-http_realip_module
编译参数说明
| 参数 | 作用 |
|---|---|
| --prefix | 编译安装到的软件目录 |
| --user | worker进程运行用户 |
| --group | worker进程运行用户组 |
| --with-http_ssl_module | 支持https 需要==pcel-devel==依赖 |
| --with-http_stub_status_module | 基本状态信息显示 查看请求数、连接数等 |
| --with-http_realip_module | 定义客户端地址和端口为header头信息 常用于反向代理后的真实IP获取 |
第六步:编译与安装Nginx软件
# make && make install
Nginx目录介绍
| 目录 | 作用 |
|---|---|
| conf | 配置文件(nginx.conf) |
| html | 网站默认目录(类似apache的htdocs目录) |
| logs | 日志(access.log、error.log) |
| sbin | 可执行文件 [软件的启动 停止 重启等] |
软件操作参数
| 参数 | 作用 |
|---|---|
| -V | 显示Nginx版本号以及配置选项 |
| -s signal | stop关闭 quit优雅的关闭 reopen重开日志 reload重载 |
原生启动方式:
# sbin/nginx -c /usr/local/nginx/conf/nginx.conf
原生关闭方式:
# sbin/nginx -s stop
原生重启方式:需要停止Nginx服务,相当于先关闭后打开
# sbin/nginx -s stop
# sbin/nginx -c /usr/local/nginx/conf/nginx.conf
原生的热重载(不停止Nginx服务,重载nginx.conf配置文件)
# sbin/nginx -s reload
Nginx服务配置
CentOS7.6 配置:
使用前提,必须先把Nginx停止掉!!!!!!!!
# sbin/nginx -s stop
编写nginx.service脚本,有了这个脚本,我们就可以使用systemctl对其进行控制了
# vim /usr/lib/systemd/system/nginx.service
[Unit]
Description=Nginx Web Server
After=network.target
[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true
[Install]
WantedBy=multi-user.target
选项说明:
Unit:单元,用于指定服务的相关信息
Service:非常重要,需要我们去定义编辑的,主要设置服务的启动、停止、以及重载等操作
Type=forking:代表后台运行
Install:在什么模式下运行,multi-user.target代表在字符模式下运行
启动Nginx:
# systemctl start nginx
停止Nginx:
# systemctl stop nginx
重载Nginx:
# systemctl reload nginx
开启启动与开机不启动:
# systemctl enable nginx
# systemctl disable nginx