Linux下编译安装Nginx

ops/2024/11/17 4:50:22/

以下是在Linux下编译安装Nginx的详细步骤:

一、安装依赖库

  1. 安装基本编译工具和库
    • 在Debian/Ubuntu系统中,使用以下命令安装
      sudo apt -y update
      sudo apt -y install build - essential libpcre3 - dev zlib1g - dev libssl - dev
      
    • 在CentOS/RHEL系统中,执行以下命令:
      sudo yum -y install gcc - c++ pcre - devel zlib - devel openssl - devel
      
    • build - essential(Debian/Ubuntu)或gcc - c++(CentOS/RHEL)提供了编译Nginx所需的编译器。libpcre3 - dev(Debian/Ubuntu)或pcre - devel(CentOS/RHEL)用于支持正则表达式,Nginx使用它来处理URL匹配等功能。zlib1g - dev(Debian/Ubuntu)或zlib - devel(CentOS/RHEL)用于提供数据压缩功能,Nginx可以使用它来压缩传输的内容,节省网络带宽。libssl - dev(Debian/Ubuntu)或openssl - devel(CentOS/RHEL)用于支持SSL/TLS加密,使Nginx能够提供安全的https服务。

二、下载Nginx源代码

  1. 访问Nginx官方网站(https://nginx.org/),找到下载链接,通常可以使用wget命令从命令行下载。例如:
    • wget https://nginx.org/download/nginx - <version>.tar.gz
      
    • (将<version>替换为你想要下载的实际版本号,如nginx - 1.25.3.tar.gz
  2. 解压下载的文件,使用以下命令:
    • tar -zxvf nginx - <version>.tar.gz
      
    • 解压后会生成一个包含Nginx源代码的目录,如nginx - <version>

三、配置Nginx

  1. 进入解压后的Nginx源代码目录:
  2. 运行配置脚本,根据需求定制Nginx的功能。例如,如果要启用SSL模块、HTTP/2模块等,可以使用以下命令:
    ./configure --prefix=/usr/local/nginx --with - http_ssl_module --with - http_v2_module
    - `--prefix`选项指定Nginx的安装目录,这里是`/usr/local/nginx`。`--with - http_ssl_module`启用SSL模块,用于提供https服务。`--with - http_v2_module`启用HTTP/2模块,提升网络性能。你可以根据自己的需求添加或删除其他模块相关的配置选项。
    - 如果配置过程中出现缺少依赖等错误,需要根据错误提示解决问题后重新运行配置脚本。

四、编译安装Nginx

  1. 编译Nginx,使用make命令:
    • make
      
    • 编译过程可能需要一些时间,具体取决于系统性能。
  2. 安装Nginx到指定目录,需要使用管理员权限(sudo):
    • sudo make install
      

五、验证安装

  1. 启动Nginx服务,在安装目录下的sbin子目录中有Nginx的可执行文件。例如,如果安装目录是/usr/local/nginx,则可以使用以下命令启动:

  2. 检查Nginx是否成功启动,可以在浏览器中访问服务器的IP地址(如果是本地测试,可以访问http://localhost)。如果看到Nginx的欢迎页面,说明安装成功。

  3. 还可以使用以下命令检查Nginx进程是否在运行:

    • ps -ef | grep nginx
      
    • 应该能看到Nginx的主进程和工作进程相关的信息。
  4. 如果需要停止Nginx服务,可以使用以下命令(在安装目录下的sbin子目录中):

    • /usr/local/nginx/sbin/nginx -s stop
      
    • 或者使用更优雅的方式来停止(等待正在处理的请求完成后再停止):
    • /usr/local/nginx/sbin/nginx -s quit
      

参考


http://www.ppmy.cn/ops/134334.html

相关文章

JVM——类加载器、类加载器的分类

类加载器是java虚拟机提供给应用程序去 实现获取类和接口字节码数据 的技术 类加载器的分类&#xff1a; 一类是 Java代码中实现的一类是 Java虚拟机底层源代码实现的 通常可以细分为三大类&#xff1a;jdk8版本中的 java代码中的 扩展类加载器&#xff1a;Extension 允许扩…

VMware高危漏洞VMSA-2024-0019修复堆溢出和权限提升漏洞

一、概述 VMware vCenter Server 高危漏洞&#xff08;CVE-2024-38812、CVE-2024-38813&#xff09;再次受到攻击&#xff0c;需要升级补丁&#xff0c;详情查看之前文章紧急通告VMware vCenter高危漏洞CVE-2024-38812和CVE-2024-38813修复方案 再次更新了漏洞 二、漏洞影像描…

三分频电路设计

文章目录 偶数分频二分频更大的2N偶数 奇数分频三分频 偶数分频 通常情况下&#xff0c;偶数倍分频器&#xff0c;可以借助计数器实现。 二分频 最简单的&#xff0c;二分频时&#xff0c;直接把输入时钟加到D触发器上&#xff0c;输出端Q取反后&#xff0c;接回输入D端&…

【Qt聊天室客户端】消息功能--发布程序

1. 获取文件内容 主要目标是实现获取内容二进制数据的接口&#xff0c;主要是为后面的消息功能提供服务 具体实现 客户端发送请求 服务端处理请求&#xff0c;同时支持三种数据类型 客户端处理服务端的响应 2. 发送图片消息 客户端与服务端的通信约定 客户端从服务器中获取图片…

Shell基础2

声明&#xff01; 学习视频来自B站up主 **泷羽sec** 有兴趣的师傅可以关注一下&#xff0c;如涉及侵权马上删除文章&#xff0c;笔记只是方便各位师傅的学习和探讨&#xff0c;文章所提到的网站以及内容&#xff0c;只做学习交流&#xff0c;其他均与本人以及泷羽sec团…

【freertos】FreeRTOS时间管理

FreeRTOS时间管理 一、睡眠延时函数1、vTaskDelay2、vTaskDelayUntil3、相对延时与绝对延时对比 二、自定义延时函数1、微秒延时2、毫秒延时 一、睡眠延时函数 1、vTaskDelay \quad 在UCOSIII 中延时函数OSTimeDly()可以设置为三种模式:相对模式、周期模式和绝对模式。在FreeR…

【Three.js基础学习】24. shader patterns

前言 课程回顾: ShaderMaterial 这里用的是着色器材质 所以顶点和片段着色器就不需要像原始着色器那样添加需要的属性 然后写 片段着色器需要属性 &#xff1a; 顶点 属性 -》变化 -》 片段中 顶点中的属性不需要声明 只需要声明传送的变量 例如 varying vec vUv; vUv uv; 补充…

量子前沿英雄谱|光量子计算的前沿探险家:Jeremy O‘Brien

大航海时代&#xff0c;书写了一部人类探索与发现的壮丽史诗&#xff0c;而作为宏大叙事背后若干个体之一&#xff0c;那些大大小小航船上载着的&#xff0c;是一群不断航向未知海域的坚定探险家。 日光底下无新事。从著名物理学家费曼提出量子计算机的概念起 ... 大航海时代&a…