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

Nginx在Linux中的最小化安装方式

1. 安装依赖

需要安装的东西:

  • wget​,方便我们下载Nginx的包。如果是在Windows下载,然后使用SFTP上传到服务器中,那么可以不安装这个软件包。
  • gcc g++​,Nginx是使用C/C++开发的服务器,等一下安装会用到其中的一些工具,因此这两个软件是必要的。
  • openssl-devel​,Nginx能够提供HTTPS(HTTP+SSL),猜测它是使用OpenSSL来开发的,因此需要这么个玩意。
  • zlib-devel​,一个关于数据压缩的开发库,猜测Nginx应该使用了这么个东西来压缩HTTP请求的某些数据。
  • pcre-devel​,有关正则表达式的库,Nginx应该也使用到了。
  • tar​,用于解压缩下载的nginx压缩包。

使用以下命令来安装这些依赖:

sudo yum install -y wget gcc g++ openssl-devel zlib-devel pcre-devel tar

2. 下载nginx压缩包

若不是纯Linux,即Linux作为服务器或者虚拟机被Windows之类的主机远程连接,那么完全可以在Windows中下载好nginx压缩包之后,使用SFTP或者scp命令将这个压缩包上传到服务器中。

若是纯Linux,你只有一台Linux主机且这台主机没有图形化界面(你连手机都没有的情况)。那只能是使用curl​命令来看看https://nginx.org/en/download.html​这个页面中有哪些是下载链接了。

不开玩笑了,这里我下载的nginx压缩包的链接是https://nginx.org/download/nginx-1.26.2.tar.gz

这里我直接使用:

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

将nginx压缩包下载到了Linux服务器上。下载到哪个目录自己决定。

3. 解压缩下载好的nginx压缩包

这里我使用tar​来进行解压缩:

tar -zxvf nginx-1.26.2.tar.gz

4. 编译和安装

切换到刚才解压缩的nginx包中:

cd nginx-1.26.2

进行configure操作:

sudo ./configure# 可以使用 --help 选项来查看怎样configure。里面有指定安装目录之类的东西,建议还是不要改,不然到时候很容易忘记
# 这里我需要使用OpenSSL,因此加上了 --with-http_ssl_module
sudo ./configure --with-http_ssl_module

编译并安装:

sudo make && sudo make install

接下来就是等待上面这条命令的完成。如果以root的身份登录那么可以忽略sudo。

5. 关闭防火墙

# 查看防火墙状态
systemctl status firewalld# 关闭防火墙
systemctl stop firewalld# 开机禁用防火墙
systemctl disable firewalld

6. 启动nginx

cd /usr/local/nginx/sbin/sudo ./nginx

7. 将nginx注册为一个服务

sudo vim /etc/systemd/system/nginx.service

填入以下内容:

[Unit]
Description=Nginx HTTP Server
After=network.target[Service]
Type=forking
ExecStart=/usr/local/nginx/sbin/nginx
ExecReload=/usr/local/nginx/sbin/nginx -s reload
ExecStop=/usr/local/nginx/sbin/nginx -s quit
PrivateTmp=true[Install]
WantedBy=multi-user.target

执行以下命令来重新加载服务的文件:

sudo systemctl daemon-reload

然后我们就可以使用:

# 如果前面启动了nginx,那么可能会导致这里启动失败
# 可以重启看看,或者把原来的nginx彻底关掉,使用nginx -s [quit | stop]
sudo systemctl start nginx # 启动nginxsudo systemctl restart nginx # 重启nginx
# 这里实际上就是使用nginx -s reload命令重新加载了一遍配置文件

来启动nginx服务。使用以下命令查看nginx服务的状态:

sudo systemctl status nginx

如果你想要nginx开机自启动,那么就运行以下命令:

sudo systemctl enable nginx

8. 卸载不想要的依赖包

nginx的默认编译链接方式是静态链接。

我们刚才为了安装nginx下载了一些可能平时用不上的包,这里可以将其删除,因为编译已经完成了,后面已经不需要用到这些包了(除非你确实需要使用这些包)。

这里我不想要的是:

  • openssl-devel​;
  • zlib-devel​;
  • pcre-devel​;

使用以下命令将其删除:

sudo yum remove -y openssl-devel zlib-devel pcre-devel

这几个东西我卸载的时候,空间大概是16MB,各位觉得这个空间就让它占着也是没有太大影响的。这里我遵循最小化的原则,将没有必要的东西全部删掉。

还有原本的nginx压缩包和解压缩后的包也不再被需要,解压缩后的是后面很少用得上的,建议删除。

nginx的压缩包建议保留,因为后面出问题你还可以来看看源码之类的东西。

9. 卸载nginx

where is nginx​可以查看到nginx的安装目录。

停止nginx:

/usr/local/nginx/sbin/nginx -s [quit | stop]# 或者以服务的方式停止
sudo systemctl stop nginx

选择quit​是优雅停止,而使用stop​是立即停止。

然后删除nginx安装目录下的所有内容:

# 先查看nginx在哪个目录
whereis nginx
sudo rm -rf /path/to/your/nginx# 或者直接使用以下命令
sudo rm -rf $(whereis nginx | awk '${print $2}')

然后在文件系统中搜索与nginx相关的文件:

find / -name *nginx*

我这里只找出了:

[aderversa@localhost system]$ sudo find / -name nginx*
/etc/systemd/system/nginx.service # 注册服务所使用到的文件
/etc/systemd/system/multi-user.target.wants/nginx.service # 实际上就是一个指向上面那个文件的软链接[aderversa@localhost system]$ sudo find / -name *nginx
/home/aderversa/software.d/nginx # 压缩包位置

你可以将找到的这些文件都删除了。这样就算卸载完成了。

相关文章:

Nginx在Linux中的最小化安装方式

1. 安装依赖 需要安装的东西: wget​,方便我们下载Nginx的包。如果是在Windows下载,然后使用SFTP上传到服务器中,那么可以不安装这个软件包。gcc g​,Nginx是使用C/C开发的服务器,等一下安装会用到其中的…...

CSS布局新视角:BFC(块级格式化上下文)的作用与优势

在CSS布局的世界中,BFC(Block Formatting Context,块级格式化上下文)是一个既重要又神秘的概念。它不仅是解决复杂布局问题的关键工具,也是提升页面性能和用户体验的重要手段。本文将从新视角出发,深入探讨…...

PCL K4PCS算法实现点云粗配准【2025最新版】

目录 一、算法原理1、算法概述2、算法流程3、参考文献二、 代码实现1、原始版本2、2024新版三、 结果展示本文由CSDN点云侠原创,原文链接,首发于:2020年4月27日。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的抄袭狗。 博客长期更新,本文最近一次更新时间为…...

02IO篇(D2_深入IO模型)

目录 本章目标 一、用户空间和内核空间 二、PIO与DMA 三、缓存IO和直接IO 1. 缓存IO 2. 直接IO 三、IO访问方式 1. 磁盘IO 2. 网络IO 3. 磁盘IO和网络IO对比 四、Socket网络编程 1. 客户端 2. 服务端 示例一 示例二 示例三 五、同步IO和异步IO 六、阻塞IO和非…...

记录一次微信小程序使用云能力开发的过程

对于开发微信小程序云开发不知从何起的同学们,可以当作一次参考。虽说官方有文档,有模板示例,但是这些都是片段或者完整的结果展示。对于初学或者开发经验较少的同学们,可能不知先从那里入手进行第一步的开发。下面解析下构建微信…...

Learning Prompt

说明:这是我的学习笔记,很多内容转自网络,请查阅文章末尾的参考资料。 目录 基本要求(C.R.E.A.T.E)总结文章(Summarise)改写文章(Rewrite)根据参考资料回答问题(Question & Answer)参考资料 基本要求(C.R.E.A.T.E) Character This is th…...

事务处理系统 (Transaction Processing System, TPS)

事务处理系统 (Transaction Processing System, TPS) 是一种专门用于自动化日常业务事务处理的计算机系统。这类系统通常处理大量的结构化数据,如订单处理、支付结算、库存管理等,以支持企业日常的运营和管理。TPS 的核心任务是确保高效、准确地记录和管理大量重复性的事务,…...

【PCIe 总线及设备入门学习专栏 5.3.2 -- PCIe 枚举与 PCIe PHY firmware 的区别与联系】

文章目录 OverviewPCIe 枚举与PCIe PHY固件的区别与联系1. PCIe 枚举2. PCIe PHY固件3. 区别4. 联系 举例说明实例场景 1:服务器启动 PCIe 网卡的过程实例场景 2:PCIe 热插拔设备的调试 Overview 本文将详细介绍 PCIe 枚举与 PCIe PHY firmware 的区别与…...

职场的三个阶段及其应对规划:以前端开发工程师为例

作为职场人士,特别是 IT 开发工程师,职业生涯的发展路径往往伴随着不同的挑战与机遇。一般而言,职场生涯可以划分为三个阶段:找工作阶段、有工作阶段以及职业转型阶段。每个阶段都有其特定的特征和应对策略,下面我将从…...

某讯一面,感觉问Redis的难度不是很大

前不久,有位朋友去某讯面试,他说被问到了很多关于 Redis 的问题,比如为什么用 Redis 作为 MySQL 的缓存?Redis 中大量 key 集中过期怎么办?如何保证缓存和数据库数据的一致性?我将它们整理出来,…...

RV1126+FFMPEG推流项目(9)AI和AENC模块绑定,并且开启线程采集

前面两篇已经交代AI和AENC模块的配置,这篇就让这两个模块绑定起来,绑定的原因是,Aenc从Ai模块拿到采集的原始数据进行编码。 使用 RK_MPI_SYS_Bind 把 AI 节点和 AENC 进行绑定,其中 enModId 是模块 ID 号选择的是 RK_ID_AI、s32C…...

excel实用工具

2. 命令 2.1 查找 vloopup...

基于.Net Core+Vue的文件加密系统

1系统架构图 2 用例图 管理员角色的用例: 文件分享大厅:管理员可以访问文件分享大厅,下载文件。个人信息管理:管理员可以更新自己的个人信息,修改密码。用户管理:管理员负责创建、更新或删除用户账户&…...

工业网口相机:如何通过调整网口参数设置,优化图像传输和网络性能,达到最大帧率

项目场景 工业相机是常用与工业视觉领域的常用专业视觉核心部件,拥有多种属性,是机器视觉系统中的核心部件,具有不可替代的重要功能。 工业相机已经被广泛应用于工业生产线在线检测、智能交通,机器视觉,科研,军事科学,航天航空等众多领域 …...

深入理解 Windows Server 的核心功能:现代 IT 架构的基石

深入理解 Windows Server 的核心功能:现代 IT 架构的基石 在现代 IT 基础架构中,Windows Server 一直扮演着不可或缺的角色。它不仅是一个强大的服务器操作系统,更是企业级解决方案的核心支柱。从中小型企业到跨国公司,Windows Server 提供了从身份管理到高可用性的一系列…...

WEB渗透技术研究与安全防御

目录 作品简介I IntroductionII 1 网络面临的主要威胁1 1.1 技术安全1 2 分析Web渗透技术2 2.1 Web渗透技术的概念2 2.2 Web漏洞产生的原因2 2.3 注入测试3 2.3.1 注入测试的攻击流程3 2.3.2 进行一次完整的Sql注入测试4 2.3.3 Cookie注入攻击11 3 安全防御方案设计…...

智能学习平台系统设计与实现(代码+数据库+LW)

摘 要 传统办法管理信息首先需要花费的时间比较多,其次数据出错率比较高,而且对错误的数据进行更改也比较困难,最后,检索数据费事费力。因此,在计算机上安装智能学习平台系统软件来发挥其高效地信息处理的作用&#…...

Java学习,List移动元素

Java实现List中元素的循环移动(即将列表中的元素向右或向左移动指定数量的位置),可以使用多种方法。 List元素移动指定位置: import java.util.ArrayList; import java.util.Collections; import java.util.List; public class…...

Linux-----线程同步(资源竞争和同步锁)

目录 资源竞争(背景) 锁(解决方式,实现同步) 互斥锁 读写锁 自旋锁 资源竞争(背景) 竞态条件 当多个线程并发访问和修改同一个共享资源(如全局变量)时,…...

当当网书籍信息爬虫

1.基本理论 1.1概念体系 网络爬虫又称网络蜘蛛、网络蚂蚁、网络机器人等,可以按照我们设置的规则自动化爬取网络上的信息,这些规则被称为爬虫算法。是一种自动化程序,用于从互联网上抓取数据。爬虫通过模拟浏览器的行为,访问网页…...

React实现拖拽特效

前言 最近,我看到一个工程师的个人网站上,采用了拖拽作品集的互动特效,既有趣又吸引眼球。经过一些研究,我发现其实借助一些现成的套件,就能轻松实现这样的效果。今天就带大家一起看看,如何通过 Framer Mo…...

【竞技宝】LOL:ning直播再次锐评

北京时间1月18日,目前英雄联盟LPL2025正在如火如荼的进行之中,很多队伍都已经打完了新赛季的首场比赛,其中就包括AL战队,AL在休赛期进行了大幅度的人员调整,整体实力相比之前增强了不少,在16日的比赛中,AL3-0轻松击败LGD拿下了赛季开门红,而AL的打野选手tarzan在本场比赛中表现…...

ThreeJS能力演示——界面点选交互能力

1、支持界面点选 点选模型整体思路是:根据camera位置作为起始点,叠加鼠标相对位置作为偏置,摄像头方向作为射线方向。 根据射线方向中的遇到的3D物体列表,第一个遇到的物体作为被点选的物体。 // 鼠标事件处理let selectedObjec…...

flutter的web页面

有几个服务器 有几个后台 直接通过web端进去虽然说很方便,但… 于是把web页面镶嵌到应用里面去, 这样就换了个方式打开web页面了 比如这里有有个列表 这里是写死了,活的列表可以通过io去获取 import package:flutter/material.dart; imp…...

2025.1.17——三、SQLi regexp正则表达式|

题目来源:buuctf [NCTF2019]SQLi1 目录 一、打开靶机,整理信息 二、解题思路 step 1:正常注入 step 2:弄清关键字黑名单 1.目录扫描 2.bp爆破 step 3:根据过滤名单构造payload step 4:regexp正则注…...

虚幻基础2:gameplay框架

能帮到你的话,就给个赞吧 😘 文章目录 ue框架:gameplay组成game modeactorcomponent player controllergame state 工作流程 ue框架:gameplay 组成 game mode 游戏类型和规则。可以控制游戏的开始与结束以及一些其他功能。 ac…...

使用 Go 语言生成样式美观的 PDF 文件

文章精选推荐 1 JetBrains Ai assistant 编程工具让你的工作效率翻倍 2 Extra Icons:JetBrains IDE的图标增强神器 3 IDEA插件推荐-SequenceDiagram,自动生成时序图 4 BashSupport Pro 这个ides插件主要是用来干嘛的 ? 5 IDEA必装的插件&…...

鸿蒙-点击Notification通知并打开App的具体页面

意图通知 获取router事件中传递参数并跳转 目前点击通知消息打开应用的指定页面,通过为通知添加行为意图的方式。也就是在wants的parameters中设置自定义参数,然后在UIAbility的onNewWant或者onCreate方法中 解析配置的自定义参数信息判断跳转不同页面&a…...

非科班转码第5年零241天

文章目录 非科班转码第5年零241天第一份工作鸭梨山大同事的帮助第二份工作新公司学到很多出海计划 非科班转码第5年零241天 第一份工作 2019年5月24日,我从机械工程转码后找到第一份工作——图像算法工程师,能得到这份工作纯属偶然,当时公司…...

数据库:MongoDB命令行帮助解释

MongoDB命令: mongodmongosmongoperrormongoexportmongofilesmongoimportmongorestoreMongostat MongoDB包中的核心组件包括: mongod 是 MongoDB 的核心服务器进程,负责数据存储和管理。mongos 是分片集群的路由进程,负责将请求路由到正确…...

wordpress 未找到/google seo实战教程

液体青贮添加剂市场的企业竞争态势 该报告涉及的主要国际市场参与者有Volac (UK)、Trouw Nutrition (Netherlands)、Schaumann BioEnergy (Germany)、ADDCON (Germany)、Chr. Hansen (Denmark)、BASF (Germany)、Lallemand (US)、DuPont Pioneer (US)、Micron Bio-Systems (US)…...

网站建设或网站优化排名/怎么找需要推广的商家

2019独角兽企业重金招聘Python工程师标准>>> 简介 Selenium 是一个健壮的工具集合,跨很多平台支持针对基于 web 的应用程序的测试自动化的敏捷开发。它是一个开源的、轻量级的自动化工具,很容易集成到各种项目中,支持多种编程语言…...

线下推广是做什么的/sem 优化软件

在Python中如何将给定字典拆分为键和值的列表?下面本篇文章就来给大家介绍几种实现方法,希望对大家有所帮助。【视频教程推荐:Python教程】方法一:使用内置函数:keys()和values()keys()函数:能以列表的形式…...

做pc端大型网站 前端用/做好网络推广

[索引页][源码下载]稳扎稳打Silverlight(16) - 2.0数据之独立存储(Isolated Storage)作者:webabcd介绍Silverlight 2.0 数据的独立存储(Isolated Storage):IsolatedStorageFile - 操作 独立存储 的类IsolatedStorageFile.GetUserStoreForSite() - 按站点…...

商丘网站制作案例/互动营销

简介:本文主要目的是把现今主流的Dubbo框架项目和精准测试进行对接,通过精准测试的数据穿透、数据采集、测试用例与代码的双向追溯、数据分析等一系列精准测试的特有功能达到对项目质量的保证。 本次环境搭建分为基础环境准备、Dubbo环境搭建、精准测试…...

建网站做站在/完美动力培训价格表

AngularJS体验式编程系列文章,将介绍如何用angularjs构建一个强大的web前端系统。angularjs是由Google团队开发的一款非常优秀web前端框架。在当前如此多的web框架下,angularjs能脱颖而出,从架构设计上就高人一等,双向数据绑定&am…...