centos7.7离线安装nginx详解程序员

本文章主要介绍了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安装参考:IT虾米网

nginx安装参考:IT虾米网

原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/228334.html

(0)
上一篇 2022年1月11日
下一篇 2022年1月11日

相关推荐

发表回复

登录后才能评论