最近公司一個項目的服務器由於安全因素的考慮不會提供互聯網環境,不能使用yum和wget,因此只能上傳離線包安裝應用。html
使用tar源碼包安裝應用應用時須要make編譯,因此依賴gcc和g++環境,先查看有沒有這些:node
[root@localhost local]# gcc -v bash: gcc: 未找到命令... ^C [root@localhost local]# g++ -v bash: g++: 未找到命令... ^C [root@localhost local]# make -v bash: make: 未找到命令...
好吧,啥都沒有,rpm應該能用吧linux
[root@localhost local]# rpm RPM 版本 4.14.3 版權全部 (C) 1998-2002 - 紅帽公司。
那就用rpm一個一個裝吧,先查看一下操做系統類型版本nginx
# 查看系統版本信息 [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這個包下下來傳到服務器上去,在這裏進行下載:
上傳以前先規劃好服務器存放目錄:c++
# 我的喜歡把全部的包放在這個目錄下 [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進行安裝segmentfault
[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個包:centos
[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%]
檢查如下是否安裝成功bash
[root@localhost gcc-c++]# gcc -v [root@localhost gcc-c++]# g++ -v
依然在 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>。 本軟件是自由軟件:您能夠自由修改和從新發布它。 在法律容許的範圍內沒有其餘保證。
環境安裝好以後,使用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
安裝zlib
安裝好以後就能夠進行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...