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

ubuntu20.04编译安装nginx

目录

      • 一.更新系统软件包列表
      • 二.安装编译Nginx所需的依赖
      • 三.下载Nginx源代码
      • 四.解压源代码文件
      • 五.进入解压后的Nginx目录
      • 六.配置编译选项
      • 七.编译并安装Nginx
      • 八.启动Nginx服务
      • 九.验证Nginx是否正常运行
      • 十.Nginx命令
      • 十一.配置软链接

在Ubuntu 20.04上编译安装Nginx,你可以按照以下步骤进行操作:

一.更新系统软件包列表

sudo apt update

二.安装编译Nginx所需的依赖

sudo apt install build-essential libpcre3-dev zlib1g-dev libssl-dev

以下是上述命令中使用的软件包的简要说明:

  1. build-essential:这是一个Ubuntu软件包,它包含了构建软件所需的一些基本工具和库,包括gcc编译器、make构建工具等。它是编译和构建软件的基础。
  2. libpcre3-dev:PCRE(Perl Compatible Regular Expressions)是一个用于处理正则表达式的C库。libpcre3-dev是PCRE的开发包,包含了编译和开发使用PCRE的软件所需的头文件和库。
  3. zlib1g-dev:Zlib是一个用于数据压缩和解压缩的开源库,常用于Web服务器和应用程序。zlib1g-dev是Zlib的开发包,包含了开发使用Zlib的软件所需的头文件和库。
  4. libssl-dev:这是OpenSSL的开发包,OpenSSL是一个加密和安全通信库,常用于保护数据的传输和存储。libssl-dev包含了开发使用OpenSSL的软件所需的头文件和库。

这些软件包通常在编译和安装诸如Nginx等需要依赖它们的软件时需要安装,以确保这些软件能够正常运行并支持相关功能。它们提供了必要的工具和库,以满足软件的编译和运行要求。

三.下载Nginx源代码

你可以从官方网站下载最新版本的Nginx:

wget https://nginx.org/download/nginx-1.24.0.tar.gz

请确保替换上面的URL为最新版本的URL,以下载最新版本的Nginx。

四.解压源代码文件

tar -xzvf nginx-1.24.0.tar.gz

五.进入解压后的Nginx目录

cd nginx-1.24.0

六.配置编译选项

你可以运行以下命令,根据你的需求自定义编译选项:

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

这里的示例命令包括了一些常见的模块,如SSL和RealIP模块。

  1. --with-http_ssl_module:这个选项用于启用Nginx的SSL模块,允许Nginx处理HTTPS请求。启用此模块后,Nginx可以加密和解密通过HTTPS传输的数据,从而实现安全的数据传输。通常,在支持HTTPS的网站上,你需要启用这个模块,以便能够使用SSL/TLS协议进行加密通信。
  2. --with-http_realip_module:这个选项用于启用Nginx的RealIP模块,它用于获取客户端的真实IP地址,即使Nginx位于代理服务器或负载均衡器后面。这对于确保你在日志记录和访问控制中使用的IP地址是客户端的真实IP地址非常有用。该模块允许你配置Nginx以识别代理服务器发送的真实客户端IP地址,而不是代理服务器的IP地址。

这两个模块是Nginx的标准模块,常用于构建Web服务器,特别是在需要支持HTTPS和代理服务器等情况下。根据你的需求,你可以根据Nginx的编译选项来启用或禁用其他模块,以满足特定的功能和性能需求。

七.编译并安装Nginx

make
sudo make install

八.启动Nginx服务

sudo /usr/local/nginx/sbin/nginx

九.验证Nginx是否正常运行

可以使用浏览器访问服务器的IP地址或域名。如果一切正常,你应该能够看到Nginx的欢迎页面。

十.Nginx命令

  • 启动Nginx:
sudo /usr/local/nginx/sbin/nginx
  • 停止Nginx:
sudo /usr/local/nginx/sbin/nginx -s stop
  • 重新加载Nginx配置(不中断服务):
sudo /usr/local/nginx/sbin/nginx -s reload

这样,你就在Ubuntu 20.04上成功编译和安装了Nginx。

十一.配置软链接

sudo ln -s /usr/local/nginx/sbin/nginx /usr/bin/nginx

配置完软连接就可以使用下面的命令了。

  1. 打印 Nginx 版本号:sudo nginx -v
  2. 打印 Nginx 编译参数:sudo nginx -V
  3. 打印当前 Nginx 工作进程:sudo nginx -s process
  4. 快速停止 Nginx 服务:sudo nginx -s stop
  5. 安全停止 Nginx 服务:sudo nginx -s quit

  • 📢博客主页:https://blog.csdn.net/qq233325332
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 陌北v1 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨

相关文章:

ubuntu20.04编译安装nginx

目录 一.更新系统软件包列表二.安装编译Nginx所需的依赖三.下载Nginx源代码四.解压源代码文件五.进入解压后的Nginx目录六.配置编译选项七.编译并安装Nginx八.启动Nginx服务九.验证Nginx是否正常运行十.Nginx命令十一.配置软链接 在Ubuntu 20.04上编译安装Nginx,你可…...

操作系统的分页

操作系统的分页功能与内存管理密切相关。为了更好地理解这一点,我们先简要概述分页的基本概念,然后解释其与页面调度和存储效率的关系。 分页的基本概念 分页是操作系统中的一种内存管理策略。物理内存被划分为固定大小的块,称为“页面”或“…...

微服务环境搭建

JDK安装:https://blog.csdn.net/JHYPXS/article/details/134155680 mysql安装:https://blog.csdn.net/JHYPXS/article/details/102566304 nacos安装:https://nacos.io/zh-cn/docs/v2/quickstart/quick-start.html...

ffmpeg 截取命令

从00:00:03.500开始截取往后长度到结尾的mp3音频(这个更有用,测试好用) ffmpeg -i d:/c.mp3 -ss 00:00:03.500 d:/output.mp3 将两个音频合并成一个音频(测试好用) ffmpeg -i "concat:d:/c.mp3|d:/output.mp3&…...

TypeScript深度剖析:TypeScript 中枚举类型应用场景?

文章目录 一、是什么二、使用数字枚举字符串枚举异构枚举本质 三、应用场景 一、是什么 枚举是一个被命名的整型常数的集合,用于声明一组命名的常数,当一个变量有几种可能的取值时,可以将它定义为枚举类型 通俗来说,枚举就是一个对象的所有可能取值的集…...

[推荐]SpringBoot,邮件发送附件含Excel文件(含源码)。

在阅读本文前,可以先阅读我的上一篇文章: SpringBoot,使用JavaMailSender发送邮件(含源码)。 ,本文使用的代码案例涉及到的 jar包、application.properties配置与它相同。 先看一下效果。 图一 图二 在下方代码案例中,…...

node学习之包管理器

一、概念介绍 **1.1 包是什么 ** 『包』英文单词是 package ,代表了一组特定功能的源码集合 **1.2 包管理工具 ** 管理『包』的应用软件,可以对「包」进行 下载安装 , 更新 , 删除 , 上传 等操作 借助包管理工具&…...

自动驾驶车辆轨迹跟踪

相对于传统的模型预测控制(MPC),简化的车辆模型通常会导致预测结果不准确,这对车辆的转弯等行为具有负面影响。因此作者提出了一种轨迹规划和跟踪框架: 该框架应用人工势场来获得目标轨迹;并利用具有PID反…...

React的useEvent 和 ahooks 的 useMemorizedFn 的深度分析和对比

父组件 const TestParent: React.FC<any> () > {const [State, setState] useState(0);const changeFun useCallback(() > {console.log(useCallback closure 里的 State, State);}, [State]);const changeFun_useEvent useEvent(() > {console.log(useEv…...

基于goframe2.5.4、vue3、tdesign-vue-next开发的全栈前后端分离的管理系统

goframe-admin goframe-admin V1.0.0 平台简介 基于goframe2.5.4、vue3、tdesign-vue-next开发的全栈前后端分离的管理系统。前端采用tdesign-vue-next-starter 、vue3、pinia、tdesign-vue-next。 特征 高生产率&#xff1a;几分钟即可搭建一个后台管理系统认证机制&#x…...

LInux之在同一Tomcat下使用不同的端口号访问不同的项目

&#x1f389;&#x1f389;欢迎来到我的CSDN主页&#xff01;&#x1f389;&#x1f389; &#x1f3c5;我是君易--鑨&#xff0c;一个在CSDN分享笔记的博主。&#x1f4da;&#x1f4da; &#x1f31f;推荐给大家我的博客专栏《LInux实战开发》。&#x1f3af;&#x1f3af; …...

梦百合上榜2023鼎革奖数字化转型先锋榜

10月26日,第六届“鼎革奖”数字化转型先锋榜单揭晓,梦百合家居凭借数字化生产的卓越成果——SAP管理平台及供应链项目,入选2023【鼎革奖】数字化转型先锋榜年度供应链转型典范,梦百合家居COO 崔慧明同步入选2023【鼎革奖】数字化转型先锋榜年度首席运营官。 据了解,「鼎革奖」数…...

沉痛悼念科研分公司

今天上班途中&#xff0c;遇到了上家公司的同事王强。他正准备去体检中心体检。几句寒暄之后&#xff0c;得知他是要入职选煤公司了。 我们所在的公司比较大&#xff0c;总公司下设有几十个分、子公司&#xff0c;我和他曾经在一家子公司——科研分公司。现在的科研分公司解散…...

Django的网站项目开发好了,该用何种方案在Centos上部署【答:Gunicorn(uWSGI)+Nginx】

问&#xff1a;用Django开发的网站开发好了&#xff0c;现在要部署上线。 系统为Centos 7.x 现在我安装好Django和相关依赖后&#xff0c;我用命令 python manage.py runserver 127.0.0.1:8010 启动Django 然后安装配置好Nginx,并把用的请求转发到 127.0.0.1:8010 。 请问这样的…...

基于PyTorch的中文情绪分析器设计与开发

收藏和点赞&#xff0c;您的关注是我创作的动力 文章目录 概要 一、相关基础理论2.1 主流深度学习框架2.2 神经网络2.2.1 神经网络基础 二、中文情感分类模型构建3.1 开发环境3.2 数据部分3.3 文本特征提取3.3.1、过滤标点符号3.3.2 中文分词、单词过滤 三 运行结果与分析五 结…...

HT5010 音频转换器工作原理

HT5010是一款低成B的立体声DA转换器&#xff0c;内部集成了内插滤波器、DA转换器和输出模拟滤波等电路。其可支持多种音频数字输入格式&#xff0c;支持24-bit字节。 该HT5010 基于一个多比特位的Δ-Σ调制器&#xff0c;将数字信号转化成两个声道的模拟信号并经过模拟滤波器滤…...

ubuntu18.04如何更新到22.04

将linux系统中的Ubuntu 18.04更新到22.04&#xff0c;按照以下步骤操作&#xff1a; 打开终端并更新系统&#xff0c;使用以下命令&#xff1a; sudo apt update sudo apt upgrade sudo apt dist-upgrade 确保系统是最新的&#xff0c;然后备份数据&#xff0c;以防万一。执…...

嵌入式软件开发:第二部分–七个步骤计划

使用一种工具&#xff08;仅一种工具&#xff09;武装自己&#xff0c;您可以在下一个嵌入式项目的质量和交付时间上做出巨大的改进。点击领取嵌入式物联网学习路线 该工具是&#xff1a;绝对承诺对开发代码的方式进行一些小而基本的更改 。 有了改变的意志&#xff0c;今天您…...

什么是IPA,和RPA有啥区别和联系?

∵ IPA中包含了RPA的“PA”&#xff0c;AI的“I” ∴IPARPAAI&#xff0c;等式成立&#xff01; AI&#xff1a;或人工智能&#xff0c;是一种复杂的计算机技术&#xff0c;旨在模仿人类智能行为和决策的能力。它涵盖了多种技术和方法&#xff0c;包括&#xff1a;机器学习&am…...

内涝积水监测仪怎么样?万宾科技城市内涝积水监测的作用

在城市建设发展过程中&#xff0c;道路基础设施的建设永远都占据着重要一席&#xff0c;因为人们出行一旦受阻便会影响城市进展&#xff0c;也会影响经济发展。在城市之中有隧道&#xff0c;下穿式立交桥等容易存积水的地方&#xff0c;一旦出现恶劣暴雨天气&#xff0c;这些地…...

潜变量扩散模型原理解析:从宝可梦生成看LDM工程落地

1. 项目概述&#xff1a;用宝可梦讲清楚潜变量扩散模型&#xff0c;不是比喻游戏&#xff0c;是真能跑通的原理复现你有没有试过让AI画一只“皮卡丘和喷火龙杂交出来的电火属性神兽”&#xff1f;不是简单拼贴&#xff0c;而是真正理解“电系的毛发质感火系的鳞片过渡神兽级别的…...

PINNs赋能QSPR:将物理定律编译进分子性质预测模型

1. 这不是又一个黑箱模型&#xff1a;当物理规律成为神经网络的“硬约束”你有没有试过训练一个深度学习模型去预测某种新型有机分子的沸点&#xff0c;结果在训练集上R高达0.98&#xff0c;一拿到实验室刚测出来的5个新化合物数据&#xff0c;预测误差就飙到40℃&#xff1f;我…...

面部美化 API 集成指南

面部美化 API 集成指南 在本教程中&#xff0c;我们将介绍如何集成面部美化 API。该 API 能够准确识别面部特征&#xff0c;并通过用户上传的面部图像实现皮肤平滑、皮肤美白和去痘等美化功能&#xff08;每张图像最多可处理五张面孔&#xff09;。 环境准备 在使用 API 之前…...

C++跨平台线程池组件设计:从核心原理到工程实践

1. 项目概述&#xff1a;为什么我们需要一个跨平台的线程池组件&#xff1f;在软件开发&#xff0c;尤其是高性能服务端、桌面应用或游戏引擎的开发中&#xff0c;线程池&#xff08;Thread Pool&#xff09;是一个绕不开的核心基础设施。我从业十几年&#xff0c;从早期的单线…...

瑞芯微RK3568与RK3566芯片选型指南:从接口差异到应用场景深度解析

1. 项目概述&#xff1a;为何要深挖这两颗“芯”&#xff1f;在嵌入式开发和智能硬件选型的圈子里&#xff0c;瑞芯微&#xff08;Rockchip&#xff09;的RK3568和RK3566是近两年曝光率极高的两颗“明星”芯片。很多刚接触的朋友第一眼看去&#xff0c;会觉得它们很像&#xff…...

不会 CSS 也能做出惊艳 PPT!Frontend Slides这个开源 Claude Code 技能让 AI 帮你生成 12 种风格演示文稿,告别千篇一律的紫渐变

不会 CSS 也能做出惊艳 PPT&#xff01;Frontend Slides这个开源 Claude Code 技能让 AI 帮你生成 12 种风格演示文稿&#xff0c;告别千篇一律的紫渐变 &#x1f4a1; 每次做 PPT 都在 Powerpoint 里拖来拖去&#xff0c;最后做出来还是那个味儿&#xff1f;Frontend Slides 让…...

优化缺陷密度,核心是从“事后救火”转向“全程预防”

优化缺陷密度&#xff0c;核心是从“事后救火”转向“全程预防”&#xff0c;通过系统化的流程和工具&#xff0c;在生产代码中构建 “计划-执行-检查-改进”的持续优化闭环。&#x1f4c8; 第一步&#xff1a;测量与评估&#xff0c;建立基线测量缺陷密度&#xff1a;按质量阶…...

Taotoken多模型路由在单一服务故障时的体验保障

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 Taotoken多模型路由在单一服务故障时的体验保障 1. 引言 在构建依赖大模型能力的应用时&#xff0c;服务的稳定性是开发者必须面对…...

微信小程序wxapkg解密与AES密钥还原技术解析

1. 这不是“黑产教程”&#xff0c;而是一次面向安全研究者的合规技术复盘 “微信小程序逆向”这六个字&#xff0c;在很多开发者听来带着天然的警觉感——它常被误读为“破解他人代码”“窃取商业逻辑”甚至“绕过支付”。但真实情况恰恰相反&#xff1a;在合法授权前提下&…...

终极指南:如何通过WeChatIntercept插件彻底解决Mac微信消息撤回问题

终极指南&#xff1a;如何通过WeChatIntercept插件彻底解决Mac微信消息撤回问题 【免费下载链接】WeChatIntercept 微信防撤回插件&#xff0c;一键安装&#xff0c;仅MAC可用&#xff0c;支持v3.7.0微信 项目地址: https://gitcode.com/gh_mirrors/we/WeChatIntercept …...