• 内网离线安装Nginx并配置SSL


    目录

    可以上外网

     安装依赖包

     安装Nginx

    不可以上外网(离线)

    安装pcre-devel

     ​​安装zlib-devel

     安装openssl-devel

    安装gcc(如果系统有gcc可以忽略)

    安装nginx

    启动nginx

     配置SSL


    可以上外网

            安装依赖包

    1、安装gcc环境:编译时依赖gcc环境

    yum -y install gcc-c++ autoconf automake make

    2、安装PCRE依赖库

    yum -y install pcre pcre-devel

    PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。

     3、安装zlib依赖库

    yum -y install zlib zlib-devel make libtool

     zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。

     

    4、安装OpenSSL安全套接字层密码库

    yum -y install openssl openssl-devel
    1. OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及 SSL 协议,并提供丰富的应用程序供测试或其它目的使用。
    2. nginx 不仅支持 http 协议,还支持 https(即在ssl协议上传输http),所以需要在 Centos 安装 OpenSSL 库。

     

     安装Nginx

            1、手动创建用户和用户组

    1. groupadd nginx
    2. useradd nginx -g nginx -s /sbin/nologin -M

             2、在nginx官网下载压缩文件nginx-1.20.2.tar.gz,通过xftp将nginx文件拷贝到linux服务器目录下

    nginx: downloadicon-default.png?t=M5H6https://nginx.org/en/download.html

     3、切换到nginx-1.20.2.tar.gz所在目录,解压nginx

    tar -zxvf nginx-1.20.2.tar.gz

     

     4、编译目录:解压后,切换到nginx-1.20.2目录,执行./configure命令检查

    1. cd nginx-1.20.2
    2. #检查平台安装环境
    3. ./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_modul
    4. e --user=nginx --group=nginx

    参数说明:

    • #编译安装目录:–prefix=/usr/local/nginx
    • #所属用户nginx:–user=nginx
    • #所属组nginx:–group=nginx
    • #该模块提供nginx的基本状态信息:–with-http_stub_status_module
    • #支持HTTPS:–with-http_ssl_module

     5、编译源码并安装:执行命令 make && make install进行编译

    1. make
    2. make install

     6、启动 Nginx

    1. cd /usr/local/nginx/sbin
    2. ./nginx

     

    常用命令:

    • ./nginx                      #启动
    • ./nginx -s quit                  #正常停止
    • ./nginx -s reload    #重新加载
    • ./nginx -v                  #查看版本信息

     7、启动成功后,访问http://IP地址/,可以看到欢迎页面。其中IP地址为nginx服务所在机器的IP地址

     8、如果没有看到欢迎页,可能是nginx所在机器的防火墙问题导致,可以关闭防火墙,或者开放防火墙的80端口,再用浏览器访问

    1. #关闭防火墙
    2. systemctl stop firewalld.service
    3. firewall-cmd --state

    1. #开放防火墙的80端口
    2. firewall-cmd --zone=public --add-port=80/tcp --permanent
    3. 重载入添加的端口:
    4. firewall-cmd --reload
    5. 查询指定端口是否开启成功:
    6. firewall-cmd --query-port=80/tcp

    9、查看Nginx状态

            (1)、进程查询

    ps -ef | grep nginx

             (2)、端口查询

    lsof -i:80

             (3)、IP查询(nginx所在机器IP地址)

    curl xxx.xxx.xxx.xxx

             (4)、查看服务 netstat -lntp

    netstat -lntp

     

    不可以上外网(离线)

            镜像站点1:centos-7-os-x86_64-Packages安装包下载_开源镜像站-阿里云icon-default.png?t=M5H6http://mirrors.aliyun.com/centos/7/os/x86_64/Packages/        镜像站点2:Index of /7.5.1804/os/x86_64/Packagesicon-default.png?t=M5H6https://vault.centos.org/7.5.1804/os/x86_64/Packages/也可以直接从这下载:nginx离线安装包及相关依赖包-CentOS文档类资源-CSDN下载nginx离线安装相关依赖,包括gcc、openssl-devel、pcre-devel、zlib-更多下载资源、学习资料请访问CSDN下载频道.https://download.csdn.net/download/zhiwenganyong/85860880

    依赖 rpm包
    1)gcc

     2)pcre-devel

    3)zlib-devel

     

     4)openssl-devel

     nginx下载

    nginx: downloadicon-default.png?t=M5H6https://nginx.org/en/download.html

    安装pcre-devel

    1. cd /usr/nginxDepend/pcre-devel
    2. rpm -Uvh *

     ​​安装zlib-devel

    1. cd /usr/nginxDepend/zlib-devel
    2. rpm -Uvh *

     安装openssl-devel

    1. cd /usr/nginxDepend/openssl-devel
    2. rpm -Uvh *.rpm --nodeps --force

    安装gcc(如果系统有gcc可以忽略)

    1. cd /usr/nginxDepend/gcc
    2. rpm -Uvh *.rpm --nodeps --force

    安装nginx

    tar -zxvf nginx-1.18.0.tar.gz -C /usr/local/nginx/

     2.在nginx目录下执行如下命令

    1. cd /usr/local/nginx/nginx-1.18.0
    2. ./configure

    默认配置安装在/usr/local/nginx

    3.然后在nginx解压目录下执行

    1. cd /usr/local/nginx/nginx-1.18.0
    2. make && make install

    启动nginx

    关闭selinux

    1. #临时关闭selinux
    2. setenforce 0
    3. #永久关闭,将SELINUX设置为disabled
    4. vi /etc/selinux/config

    防火墙开发80端口

    1. sudo firewall-cmd --zone=public --list-all # 查看开放的端口
    2. sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久开放80端口
    3. sudo firewall-cmd --reload # 重新加载

    nginx命令

    1. # 启动nginx
    2. /usr/local/nginx/sbin/nginx
    3. # 立即停止Nginx服务
    4. /usr/local/nginx/sbin/nginx -s stop
    5. # 完成当前任务后停止
    6. /usr/local/nginx/sbin/nginx -s quit

    启动成功后,访问http://IP地址/,可以看到欢迎页面。其中IP地址为nginx服务所在机器的IP地址

     配置SSL

            先把目前的nginx关闭,目前安装在/usr/local/nginx

    ./nginx -s stop

            到解压的nginx目录下,执行:

    ./configure --prefix=/usr/local/nginx  --with-http_ssl_module

            执行make命令,但是不要执行make install,因为make是用来编译的,而make install是安装,不然你整个nginx会重新覆盖。

    1. make
    2. cp /usr/local/nginx/sbin/nginx /usr/local/nginx/sbin/nginx.bak
    3. cp objs/nginx /usr/local/nginx/sbin/nginx

    在nginx解压目录下,objs文件夹中多了一个nginx的文件,这个就是新版本的程序了。首先我们把之前的nginx先备份一下,然后把新的程序复制过去覆盖之前的即可。

    查看是否有安装ssl模块成功

    ./usr/local/nginx/sbin/nginx -V

    有 configure arguments: --with-http_ssl_module  说明安装成功了

  • 相关阅读:
    PostGIS简单使用
    GCC:头文件和库文件的路径
    重温C语言10---预处理与宏定义
    高通平台Android 蓝牙调试和配置手册-- Bluetooth ON/OFF Failures
    2023-亲测有效-git clone失败怎么办?用代理?加git?
    建筑类企业做ISO9001时需要带GB/T50430标准
    Google 开源库Guava详解
    2024年水利水电技术与能源环境国际会议(ICWRHTEE2024)
    Golang面试题五(GC)
    你知道12306 是如何支撑百万 QPS 的?
  • 原文地址:https://blog.csdn.net/zhiwenganyong/article/details/125569173