乐趣区

关于centos:Centos离线安装gcccmake-nginx

最近公司一个我的项目的服务器因为平安因素的思考不会提供互联网环境,不能应用 yum 和 wget,所以只能上传离线包装置利用。

应用 tar 源码包装置利用利用时须要 make 编译,所以依赖 gcc 和 g ++ 环境,先查看有没有这些:

[root@localhost local]# gcc -v
bash: gcc: 未找到命令...
^C
[root@localhost local]# g++ -v
bash: g++: 未找到命令...
^C
[root@localhost local]# make -v
bash: make: 未找到命令...

好吧,啥都没有,rpm 应该能用吧

[root@localhost local]# rpm
RPM 版本 4.14.3
版权所有 (C) 1998-2002 - 红帽公司。

装置 gcc-c++

那就用 rpm 一个一个装吧,先查看一下操作系统类型版本

# 查看零碎版本信息
[root@localhost local]# cat /etc/centos-release
CentOS Linux release 8.3.2011

# 查看 Linux 版本信息 此命令输入后果蕴含了零碎内核版本、gcc 编译器版本和 Red Hat 版本号
[root@localhost local]# cat /proc/version
Linux version 4.18.0-240.el8.x86_64 (mockbuild@kbuilder.bsys.centos.org) (gcc version 8.3.1 20191121 (Red Hat 8.3.1-5) (GCC)) #1 SMP Fri Sep 25 19:48:47 UTC 2020

依据下面的版本信息在本人有网的电脑下来 https://pkgs.org/ 下载对应的 gcc-c++ 的 rpm 包

就是这个,能够看到它依赖了很多包

先不必管这些依赖的包,先把这 gcc-c++-8.2.1-3.5.el8.x86_64.rpm 这个包下下来传到服务器下来,在这里进行下载:

上传之前先布局好服务器寄存目录:

# 集体喜爱把所有的包放在这个目录下
[root@localhost baseenv]# cd /usr/local

# 创立一个 baseenv 目录用于寄存根底环境包
[root@localhost local]# mkdir baseenv

# 在 baseenv 下创立 gcc-c++ 目录寄存 gcc-c++ 相干的包
[root@localhost local]# cd baseenv/
[root@localhost baseenv]# mkdir gcc-c++

上传之后应用 rpm 进行装置

[root@localhost gcc-c++]# ll
总用量 12540
-rw-r--r--. 1 root root 12839856 5 月  14 05:59 gcc-c++-8.3.1-5.1.el8.x86_64.rpm

# 应用 rpm 进行装置
[root@localhost gcc-c++]# rpm -ivh gcc-c++-8.3.1-5.1.el8.x86_64.rpm 
正告:gcc-c++-8.3.1-5.1.el8.x86_64.rpm: 头 V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
谬误:依赖检测失败:gcc = 8.3.1-5.1.el8 被 gcc-c++-8.3.1-5.1.el8.x86_64 须要
        libstdc++-devel = 8.3.1-5.1.el8 被 gcc-c++-8.3.1-5.1.el8.x86_64 须要
[root@localhost gcc-c++]# 

之前说不必管那些依赖是因为,那些依赖并不是所有的都须要,所以通过尝试去让零碎检测咱们须要那些包,而后咱们依据提醒去找对应的包

点进去用同样的形式进行下载安装,只有所有的依赖都装置好了,父包能力装置胜利,因为有的包依赖的层级比拟深,所以找包的过程比拟麻烦,一共波及到 9 个包:

[root@localhost gcc-c++]# ls
cpp-8.3.1-5.1.el8.x86_64.rpm           isl-0.16.1-6.el8.x86_64.rpm
gcc-8.3.1-5.1.el8.x86_64.rpm           kernel-headers-4.18.0-240.22.1.el8_3.x86_64.rpm
gcc-c++-8.3.1-5.1.el8.x86_64.rpm       libstdc++-devel-8.3.1-5.1.el8.x86_64.rpm
glibc-devel-2.28-127.el8.x86_64.rpm    libxcrypt-devel-4.1.1-4.el8.x86_64.rpm
glibc-headers-2.28-127.el8.x86_64.rpm

能够一个一个去进行 rpm 装置,也能够找齐所有的包之后一起进行强制装置(gcc-c++ 相干 rpm 包已上传至百度网盘 –> 链接:https://pan.baidu.com/s/1hmXj…
提取码:933g,版本适合者自取):

# 疏忽依赖强制装置所有 rpm 包
[root@localhost gcc-c++]# rpm -ivh *.rpm --nodeps --force
正告:cpp-8.3.1-5.1.el8.x86_64.rpm: 头 V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
Verifying...                          ################################# [100%]
筹备中...                          ################################# [100%]
正在降级 / 装置...
   1:libstdc++-devel-8.3.1-5.1.el8    ################################# [11%]
   2:kernel-headers-4.18.0-240.22.1.el################################# [22%]
   3:glibc-headers-2.28-127.el8       ################################# [33%]
   4:libxcrypt-devel-4.1.1-4.el8      ################################# [44%]
   5:glibc-devel-2.28-127.el8         ################################# [56%]
   6:isl-0.16.1-6.el8                 ################################# [67%]
   7:cpp-8.3.1-5.1.el8                ################################# [78%]
   8:gcc-8.3.1-5.1.el8                ################################# [89%]
   9:gcc-c++-8.3.1-5.1.el8            ################################# [100%]

查看以下是否装置胜利

[root@localhost gcc-c++]# gcc -v
[root@localhost gcc-c++]# g++ -v

装置 make

仍然在 https://pkgs.org/ 中搜寻 make 相干包

在 baseenv 下创立 make 门路寄存 make 包,下载好 rpm 包后进行装置:

[root@localhost make]# ll
总用量 500
-rw-r--r--. 1 root root 509448 5 月  14 06:27 make-4.2.1-10.el8.x86_64.rpm

# 装置 make
[root@localhost make]# rpm -ivh make-4.2.1-10.el8.x86_64.rpm 
正告:make-4.2.1-10.el8.x86_64.rpm: 头 V3 RSA/SHA256 Signature, 密钥 ID 8483c65d: NOKEY
Verifying...                          ################################# [100%]
筹备中...                          ################################# [100%]
正在降级 / 装置...
   1:make-1:4.2.1-10.el8              ################################# [100%]

# 装置胜利后测试以下
[root@localhost make]# make -v
GNU Make 4.2.1
为 x86_64-redhat-linux-gnu 编译
Copyright (C) 1988-2016 Free Software Foundation, Inc.
许可证:GPLv3+:GNU 通用公共许可证第 3 版或更新版本 <http://gnu.org/licenses/gpl.html>。本软件是自由软件:您能够自在批改和从新公布它。在法律容许的范畴内没有其余保障。

装置 nginx

环境装置好之后,应用 tar 包装置个 nginx 吧,间接将 tar 包传到 /usr/local 下,进行解压装置:

# 解压压缩包
tar -zxvf  nginx-1.20.0.tar.gz
# 切换到 /usr/local/nginx-1.20.0 下编译装置
./configure

运行到这一步发现不能通过了

./configure: error: the HTTP rewrite module requires the PCRE library.
You can either disable the module by using --without-http_rewrite_module
option, or install the PCRE library into the system, or build the PCRE library
statically from the source with nginx by using --with-pcre=<path> option.

因为 nginx 自身依赖 pcre,和 zlib,所以先装置这两个:

  • 装置 pcre

    • 获取 pcre 编译安装包,在 http://www.pcre.org/ 上能够获取以后最新的版本
    • 解压缩 pcre-xx.tar.gz 包。
    • 进入解压缩目录,执行./configure。
    • make & make install
  • 装置 zlib

    • 获取 zlib 编译安装包,在 http://www.zlib.net/ 上能够获取以后最新的版本。
    • 解压缩 openssl-xx.tar.gz 包。
    • 进入解压缩目录,执行./configure。
    • make & make install

装置好之后就能够进行 nginx 的装置了:

# 切换到 /usr/local/nginx-1.20.0 下编译装置
./configure
make
make install

至此 nginx 曾经装置胜利了,如果要进行 systemd 治理或装置其余利用,详情请参考我的另一篇文章 https://segmentfault.com/a/11…

参考文章:

https://www.cnblogs.com/dyd16…
https://blog.csdn.net/huaishu…

退出移动版