当前位置: 首页 > news >正文

Linux下编译安装Nginx

以下是在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源代码目录:
    • cd nginx - <version>
      
  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,则可以使用以下命令启动:

    • /usr/local/nginx/sbin/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
      

参考

  • nginx官网

相关文章:

Linux下编译安装Nginx

以下是在Linux下编译安装Nginx的详细步骤&#xff1a; 一、安装依赖库 安装基本编译工具和库 在Debian/Ubuntu系统中&#xff0c;使用以下命令安装&#xff1a;sudo apt -y update sudo apt -y install build - essential libpcre3 - dev zlib1g - dev libssl - dev在CentOS/…...

算力100问☞第4问:算力的构成元素有哪些?

算力的构成元素是一个多维度且相互交织的体系&#xff0c;它融合了硬件基础设施、软件优化策略、数据处理效能以及分布式计算技术等多个层面&#xff0c;共同塑造了强大的计算能力。具体如下&#xff1a; 1、硬件基础设施 中央处理器&#xff08;CPU&#xff09;&#xff1a;…...

安装paddle

网址&#xff1a;飞桨PaddlePaddle-源于产业实践的开源深度学习平台 或者找对应python和cuda版本的paddle下载后安装&#xff1a; https://www.paddlepaddle.org.cn/whl/linux/mkl/avx/stable.html 你想要安装paddlepaddle - gpu2.6.1.post112版本。在你提供的文件列表中&am…...

飞凌嵌入式RK3576核心板已适配Android 14系统

在今年3月举办的RKDC2024大会上&#xff0c;飞凌嵌入式FET3576-C核心板作为瑞芯微RK3576处理器的行业首秀方案重磅亮相&#xff0c;并于今年6月率先量产发货&#xff0c;为客户持续稳定地供应&#xff0c;得到了众多合作伙伴的认可。 FET3576-C核心板此前已提供了Linux 6.1.57…...

SpringBoot+MyBatis+MySQL的Point实现范围查找

前言 最近做了一个功能&#xff0c;需要通过用户当前位置点获取指定范围内的数据。由于后端存储用的是 MySQL&#xff0c;故选择使用 MySQL 中的 Point 实现范围查找功能。ORM 框架用的是 MyBatis&#xff0c;MyBatis 原生并不支持 Point 字段与 POJO 的映射&#xff0c;需要自…...

【Apache Paimon】-- 1 -- Apache Paimon 是什么?

目录 1、简介 2、概览 3、哪些场景可以使用 Paimon 4、周边生态 5、小结 6、参考 1、简介 我们听说过数据仓库、数据湖、数据湖仓,那你听说过流式数据仓库(Stream warehouse,简称:Streamhouse)吗?那我们今天就来解锁看看他们之中的新秀: Apache paimon 到底是什么…...

解决VsCode无法跳转问题

在settings.json中加入以下代码 { "files.associations": { "*.c":"c", "*.h":"c", "*.s":"masm" }, "includePath":[ "${workspaceFold…...

优化C++设计模式:用模板代替虚函数与多态机制

文章目录 0. 引言1. 模板编程替换虚函数和多态的必要性1.1. MISRA C对类型转换和虚函数的规定1.2. 虚函数与多态问题的影响及如何适应MISRA C要求1.3. 模板编程的优势&#xff1a;替代虚函数和多态机制 2. 设计模式改进2.1. 单例模式的改进与静态局部变量的对比(第二种实现) 2.…...

浪浪云轻量服务器搭建vulfocus网络安全靶场

什么是网络安全靶场 网络安全靶场是一个模拟真实网络环境的训练平台&#xff0c;旨在为网络安全专业人员提供一个安全的环境来测试和提高他们的技能。靶场通常包括各种网络设备、操作系统、应用程序和安全工具&#xff0c;允许用户在其中进行攻击和防御练习。以下是网络安全靶…...

C++builder中的人工智能(23):在现代C++ Windows上轻松录制声音

在这篇文章中&#xff0c;我们将探讨如何在现代C Windows上轻松录制声音。声音以波形和数字形式存在&#xff0c;其音量随时间变化。在C Builder中&#xff0c;使用Windows设备进行录音非常简单。要录制声音&#xff0c;在多设备应用程序中&#xff0c;必须使用FMX.Media.hpp头…...

避免误差!Android 中正确计算时间差的方式

在 Android 开发中&#xff0c;计时和计算时间差异是非常常见的需求&#xff0c;比如记录事件发生的间隔、统计应用启动时间、测量网络请求的响应时间等。在实现这些功能时&#xff0c;我们通常需要一个可靠的时间源来确保计时的准确性。那么为什么 Android 推荐使用 SystemClo…...

unity3d————Resources异步加载

知识点一&#xff1a;Resources异步加载是什么&#xff1f; 在Unity中&#xff0c;资源加载可以分为同步加载和异步加载两种方式。同步加载会在主线程中直接进行&#xff0c;如果加载的资源过大&#xff0c;可能会导致程序卡顿&#xff0c;因为从硬盘读取数据到内存并进行处理…...

YOLOv11改进,YOLOv11添加GnConv递归门控卷积,二次创新C3k2结构

摘要 视觉 Transformer 在多种任务中取得了显著的成功,这得益于基于点积自注意力的新空间建模机制。视觉 Transformer 中的关键因素——即输入自适应、长距离和高阶空间交互——也可以通过卷积框架高效实现。作者提出了递归门控卷积(Recursive Gated Convolution,简称 gnCo…...

如何选择国产化CMS来建设政务网站?

在介绍CMS之前&#xff0c;我们先了解国家为什么要网站为什么要完成国产化改造&#xff1f; 1、信创国产化网站建站响应了国家的信息安全战略&#xff0c;支持自主可控的信息技术产业的发展&#xff0c;减少对进口软硬件的依赖&#xff0c;保障国家信息安全。 2、国产替代&…...

C/C++语言基础--initializer_list表达式、tuple元组、pair对组简介

本专栏目的 更新C/C的基础语法&#xff0c;包括C的一些新特性 前言 initializer_list表达式、tuple元组、pair对组再C日常还是比较常用的&#xff0c;尤其是对组在刷算法还是挺好用的&#xff0c;这里做一个简介&#xff1b;这三个语法结合C17的结构化绑定会更好用&#xff…...

paddle表格识别数据制作

数据格式 其中主要数据有两个一个表格结构的检测框&#xff0c;一个是tokens&#xff0c;注意的地方是 1、只能使用双引号&#xff0c;单引号不行 2、使用带引号的地方是tokens里面 "<tr>", "<td", " colspan2", ">",&quo…...

python selenium库的使用:通过兴趣点获取坐标

通过兴趣点获取坐标 from selenium import webdriver from selenium.webdriver.common.by import By from selenium.webdriver.common.keys import Keys from selenium.common.exceptions import TimeoutException# 保存Cookies到文件&#xff08;可选&#xff09; import pi…...

如何优化Kafka消费者的性能

要优化 Kafka 消费者性能&#xff0c;你可以考虑以下策略&#xff1a; 并行消费&#xff1a;通过增加消费者组中的消费者数量来并行处理更多的消息&#xff0c;从而提升消费速度。 批量消费&#xff1a;配置 fetch.min.bytes 和 fetch.max.wait.ms 参数来控制批量消费的大小和…...

机器学习 决策树

决策树-分类 1 概念 1、决策节点通过条件判断而进行分支选择的节点。如&#xff1a;将某个样本中的属性值(特征值)与决策节点上的值进行比较&#xff0c;从而判断它的流向。 2、叶子节点没有子节点的节点&#xff0c;表示最终的决策结果。 3、决策树的深度所有节点的最大层…...

效益登记册效益管理计划

效益登记册 benefit Register效益管理计划效益登记册汇集并列出项目集计划的效益&#xff0c;用于在项目集的整个持续时间内测量和沟通效益的交付。在效益识别阶段&#xff0c;效益登记册根据项目集商业论证、组织战略计划和其他相关项目集自标而编制。随后&#xff0c;登记册由…...

Go语言的零值可用性:优势与限制

Go语言以其简洁和高效的设计理念而著称&#xff0c;其中之一便是“零值可用”的特性。这一特性使得许多类型在未显式初始化时即可直接安全地使用&#xff0c;大大简化了代码的初始化过程。然而&#xff0c;并非所有类型都支持零值可用&#xff0c;且在使用时也存在一定的限制。…...

【自用】0-1背包问题与完全背包问题的Java实现

引言 背包问题是计算机科学领域的一个经典优化问题&#xff0c;分为多种类型&#xff0c;其中最常见的是0-1背包问题和完全背包问题。这两种问题的核心在于如何在有限的空间内最大化收益&#xff0c;但它们之间存在一些关键的区别&#xff1a;0-1背包问题允许每个物品只能选择…...

HTML5实现俄罗斯方块小游戏

文章目录 1.设计来源1.1 主界面1.2 皮肤风格1.2 游戏中界面1.3 游戏结束界面 2.效果和源码2.1 动态效果2.2 源代码 源码下载 作者&#xff1a;xcLeigh 文章地址&#xff1a;https://blog.csdn.net/weixin_43151418/article/details/143788449 HTML5实现俄罗斯方块小游戏&#x…...

Mybatis官方生成器使用示例

在这篇文章中&#xff0c;我们将通过实际代码示例来说明如何使用 MyBatis Generator (MBG) 来自动化生成 MyBatis 项目所需的实体类、Mapper 接口和 Mapper XML 文件。我们将使用一个 Maven 插件来执行代码生成&#xff0c;并提供详细的配置和解释。 1. MyBatis Generator 简介…...

演员王子辰—专注革命题材 《前行者》后再出发

2021年10月22日在北京卫视播出的由张鲁一、聂远等人主演的电视剧《前行者》&#xff0c;讲述了在二十世纪三十年代初&#xff0c;因叛徒出卖&#xff0c;我上海地下党组织遭到严重破坏&#xff0c;革命事业陷入一片白色恐怖之中。我党情报员马天目刚从法国归来&#xff0c;临危…...

Spring Boot基础教学:创建第一个Spring Boot项目

使用Spring Initializr生成项目 Spring Initializr是一个在线工具&#xff0c;用于快速生成Spring Boot项目的基本结构。以下是使用Spring Initializr创建项目的步骤&#xff1a; 步骤1&#xff1a;访问Spring Initializr 打开网址 start.spring.io。 步骤2&#xff1a;选择…...

基于SpringBoot+Vue实现校园多媒体信息共享平台

作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参与学生毕业答辩指导&#xff0c;…...

WebRTC API分析

主题 本文详细描述常用的webrtc api 媒体协商类 myPeerConnection.createOffer([options]); var options { offerToReceiveAudio: true, // 告诉另一端&#xff0c;你是否想接收音频&#xff0c;默认true offerToReceiveVideo: true, // 告诉另一端&a…...

ArkTS学习笔记:ArkTS起步

ArkTS是HarmonyOS的主力应用开发语言&#xff0c;基于TypeScript扩展&#xff0c;强化了静态检查和分析&#xff0c;旨在提升程序稳定性和性能。它采用静态类型&#xff0c;禁止运行时改变对象布局&#xff0c;并对UI开发框架能力进行扩展&#xff0c;支持声明式UI描述和自定义…...

spring-gateway网关聚合swagger实现多个服务接口切换

前提条件 微服务已经集成了swagger&#xff0c;并且注册进了nacos。 gateway配置 package com.zmy.springcloud.config;import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.springfra…...