Linux下的一些软件的编译安装(持续更新ing)

129 阅读3分钟

一、编译安装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编译安装到的软件目录
--userworker进程运行用户
--groupworker进程运行用户组
--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 signalstop关闭 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