一、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

centos7.7离线安装nginx的更多相关文章

  1. CentOS7离线安装Nginx(详细安装过程)

    CentOS7离线安装Nginx(详细安装过程) 1.安装gcc.g++ 下载好所需的文件后上传至服务器(下载地址:https://download.csdn.net/download/a729360 ...

  2. Linux centos7环境下安装Nginx

    Linux centos7环境下安装Nginx的步骤详解 1.    首先到Nginx官网下载Nginx安装包 http://nginx.org/download/nginx-1.5.9.tar.gz ...

  3. centos7通过yum安装nginx

    centos7通过yum安装nginx nginx不支持centos7通过yum直接安装~~~ 1.查看操作系统位数[root@-jenkins ~]# rpm -aq|grep centos-rel ...

  4. CentOS离线安装Nginx

    在医院搭建项目环境时,因为医院通常都是内网的,访问不了外网,所以很多服务都得通过离线的方式安装,下面讲讲CentOs系统中如何离线安装Nginx. 安装准备 Nginx离线安装依赖gcc.g++环境, ...

  5. centos7 yum 方式安装nginx

    centos7系统库中默认是没有nginx的rpm包的,所以我们自己需要先更新下rpm依赖库 (1)使用yum安装nginx需要包括Nginx的库,安装Nginx的库 #rpm -Uvh http:/ ...

  6. centos7最小版本安装nginx+tomcat+java+mysql运行环境

    最近项目从windows搬到linux,由于项目组成员有限并且有其它紧急的任务需要处理,因而这个任务就落到我的头上了.下面记录下centos最小版本安装nginx+tomcat+mysql+java的 ...

  7. CentOS7.6编译安装nginx

    配置阿里云yum源 cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak wget -O /etc/yu ...

  8. ubuntu16.04 离线安装nginx

    场景描述: 客户生产环境服务器,内网隔离无法访问互联网,需要准备好相应的安装包,离线部署. 服务器&软件包版本: 环境: ubunt16.04 gcc-4.8.4 包: nginx-1.8.1 ...

  9. centos7下快速安装Nginx服务器

    1.添加源 默认情况Centos7中无Nginx的源,最近发现Nginx官网提供了Centos的源地址.因此可以如下执行命令添加源: sudo rpm -Uvh http://nginx.org/pa ...

随机推荐

  1. [LeetCode] 307. Range Sum Query - Mutable 区域和检索 - 可变

    Given an integer array nums, find the sum of the elements between indices i and j (i ≤ j), inclusive ...

  2. Spring Boot 知识笔记(定时任务与异步)

    一.定时任务 1.启动类里面增加注入 @SpringBootApplication //@SpringBootApplication = @Configuration+@EnableAutoConfi ...

  3. 数据库多行数据合并一行(sqlserver、Oracle、Mysql)

    我们日常查询数据时,经常会有将查询到的数据按照某一列分组显示(合并多行数据),比如: 表结构: ),coursename )); 需要将以上数据按照用户名分组,所选课程列不同项之间用逗号隔开,在一行中 ...

  4. 利用Jenkins打包并远程部署SpringBoot应用

    本文Jenkins版本2.190.2,为19年11月最新 1.安装Jenkins.Git.Maven和JDK Jenkins安装参考:https://www.cnblogs.com/zhi-leaf/ ...

  5. Unity和Jenkins真是绝配,将打包彻底一键化!

    说起打包,我们的QA简直是要抓狂,这个确实我也很同情他们.项目最开始打包是另一个同事做的,打包步骤是有些繁琐,但是项目上线后,不敢轻易动啊!每次他们打包总要跟我抱怨,国内版本打包步骤要10多步还能忍, ...

  6. Java中json使用与问题汇总

    一.JSON 解析类库 FastJson: 阿里巴巴开发的 JSON 库,性能十分优秀. 在maven项目的pom文件中以下依赖 <dependency> <groupId>c ...

  7. 快速学会使用Vuex

    一.Vuex简介 官方定义 Vuex是一个专门为Vue.js应用程序开的状态管理模式 它采用集中式存储管理应用的所有组件的状态 并以相应的规则保证以一种可预测的方式发生变化 二.应用场景 多个视图依赖 ...

  8. ADO.NET中使用事务

    using (SqlConnection conn = new SqlConnection(k2ConnStr)) { SqlCommand cmd = new SqlCommand(sql, con ...

  9. 关于html的相关讲解

    浏览器chrome Chrome它内部有一个解析器,这个解析器就是解析我们的代码,各个浏览器的内核不一样,所以存在浏览器的兼容.这个内核是一个引擎. 谷歌的内核是webkit 引擎是v8. 客户端的请 ...

  10. Java 之 Set 源码分析

    一.HashSet 构造方法: HashSet() :构造一个新的空 set,其底层 HashMap 实例的默认初始容量是 16,加载因子是 0.75  源码: 二.LinkedHashSet 构造方 ...