centos7.7離線安裝nginx


一、1、安裝openssl,因為編譯安裝nginx需要指定openssl目錄

mkdir /data/openssl -p
cd /data/openssl 
wget https://www.openssl.org/source/openssl-1.1.1d.tar.gz

 2、解壓並編譯安裝openssl

tar xf openssl-1.1.1d.tar.gz
cd openssl-1.1.1d
./config --prefix=/usr/local/openssl --openssldir=/usr/local/ssl
make -j 2
make install

 3、導出庫文件

echo  /usr/local/openssl/lib >> /etc/ld.so.conf.d/openssl.conf
ldconfig
檢測版本信息
/usr/local/openssl/bin/openssl  version -a
OpenSSL 1.1.1d  10 Sep 2019
built on: Mon Dec  9 08:39:59 2019 UTC
platform: linux-x86_64
options:  bn(64,64) rc4(16x,int) des(int) idea(int) blowfish(ptr) 
compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_CPUID_OBJ -DOPENSSL_IA32_SSE2 -DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_MONT5 -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DKECCAK1600_ASM -DRC4_ASM -DMD5_ASM -DVPAES_ASM -DGHASH_ASM -DECP_NISTZ256_ASM -DX25519_ASM -DPOLY1305_ASM -DNDEBUG
OPENSSLDIR: "/usr/local/ssl"
ENGINESDIR: "/usr/local/openssl/lib/engines-1.1"
Seeding source: os-specific

 4、導出openssl/bin 到PATH 變量

echo 'PATH=/usr/local/openssl/bin:$PATH' >> /etc/profile.d/env.sh 
source /etc/profile.d/env.sh 
openssl  version
OpenSSL 1.1.1d  10 Sep 2019

5、安裝nginx所需的依賴

yum -y install gcc gcc-c++
yum -y install zlib zlib-devel openssl openssl-devel pcre-devel
gzip    模塊需要 zlib 庫
rewrite 模塊需要 pcre 庫
ssl     功能需要openssl庫

 6、下載nginx安裝包

wget http://nginx.org/download/nginx-1.16.1.tar.gz
tar xf nginx-1.16.1.tar.gz
cd nginx-1.16.1

7、添加nginx組,用戶

groupadd nginx
useradd nginx -g nginx -s /sbin/nologin -M

8、先修改nginx源碼包以下文件,否則在執行初始化配置時會提示“.openssl”相關錯誤

vim /data/nginx-1.16.1/auto/lib/openssl/conf
刪除/.openssl
            CORE_INCS="$CORE_INCS $OPENSSL/.openssl/include"
            CORE_DEPS="$CORE_DEPS $OPENSSL/.openssl/include/openssl/ssl.h"
            CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libssl.a"
            CORE_LIBS="$CORE_LIBS $OPENSSL/.openssl/lib/libcrypto.a"

更改為以下內容:

            CORE_INCS="$CORE_INCS $OPENSSL/include"
            CORE_DEPS="$CORE_DEPS $OPENSSL/include/openssl/ssl.h"
            CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libssl.a"
            CORE_LIBS="$CORE_LIBS $OPENSSL/lib/libcrypto.a"

9、 初始化配置信息

./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module --with-http_ssl_module --with-stream --with-http_realip_module --with-http_gzip_static_module --with-openssl=/usr/local/openssl

10、查看是否配置成功($? 是顯示最后命令的退出狀態,0表示沒有錯誤,其他表示有錯誤)

 echo $?
0

11、編譯安裝

make && make install
echo $?

 12、查看nginx版本號

/usr/local/nginx/sbin/nginx -v
nginx version: nginx/1.16.1

 13、檢查配置文件語法是否正確

/usr/local/nginx/sbin/nginx -t
nginx: the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /usr/local/nginx/conf/nginx.conf test is successful

 14、啟動nginx

/usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx -s reload                 重新載入配置文件
/usr/local/nginx/sbin/nginx -s stop                   快速關閉 Nginx
/usr/local/nginx/sbin/nginx -s quit                   關閉Nginx

 15、編寫啟動腳本,方便開機自啟

vim  /usr/lib/systemd/system/nginx.service
[Unit]
Description=nginx
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=forking
PIDFile=/usr/local/nginx/logs/nginx.pid
ExecStartPost=/bin/sleep 0.1
ExecStartPre=/usr/local/nginx/sbin/nginx -t -c /usr/local/nginx/conf/nginx.conf
ExecStart=/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
 
[Install]
WantedBy=multi-user.target

使用:

systemctl start|stop|reload|restart|status nginx.service
開機自啟:
systemctl enable nginx.service
關閉開機自啟:
systemctl disable nginx.service

  

openssl安裝參考:https://blog.51cto.com/1012682/2380553?source=dra

nginx安裝參考:https://blog.csdn.net/yuanfangPOET/article/details/90045001

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM