Linux 系统安装/卸载 Nginx教程

优质博文:IT-BLOG-CN

一、安装Nginx

【1】首先通过Nginx官网确定需要安装的版本,如果Linux联网则直接在Linux服务上使用wget命令将Nginx安装包下载到/usr/local/目录下:

[root@xxx local]# wget -c http://nginx.org/download/nginx-1.22.1.tar.gz
--2024-02-20 10:52:39--  http://nginx.org/download/nginx-1.22.1.tar.gz
Resolving nginx.org (nginx.org)... 52.58.199.22, 3.125.197.172, 2a05:d014:5c0:2600::6, ...
Connecting to nginx.org (nginx.org)|52.58.199.22|:80... connected.
HTTP request sent, awaiting response... 416 Requested Range Not Satisfiable

    The file is already fully retrieved; nothing to do.

如果是未Linux未联网,可以手动下载后,将压缩包上传至/usr/local/目录下。如果没有wget命令,通过yum install -y wget命令安装即可。

【2】安装Nginx依赖包gccPCRE pcre-develzlibOpenSSL:可以通过如下命令在线安装

[root@xxx local]# yum install -y gcc-c++zlib zlib-developenssl openssl-devel pcre pcre-devel
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base                                                                                                                                                                                                                                                            | 3.6 kB  00:00:00     
https://download.docker.com/linux/centos/7/x86_64/stable/repodata/repomd.xml: [Errno 14] curl#77 - "Problem with the SSL CA cert (path? access rights?)"
Trying other mirror.
epel                                                                                                                                                                                                                                                            | 4.7 kB  00:00:00     
extras                                                                                                                                                                                                                                                          | 2.9 kB  00:00:00     
updates                                                                                                                                                                                                                                                         | 2.9 kB  00:00:00     
(1/3): epel/x86_64/updateinfo                                                                                                                                                                                                                                   | 1.0 MB  00:00:00     
(2/3): epel/x86_64/primary_db                                                                                                                                                                                                                                   | 7.0 MB  00:00:00     
(3/3): updates/7/x86_64/primary_db  

安装nginx需要先将官网下载的源码进行编译,编译依赖gcc环境。 PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括perl兼容的正则表达式库。nginxhttp模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库,pcre-devel是使用pcre开发的一个二次开发库。nginx也需要此库。 zlib库提供了很多种压缩和解压缩的方式,nginx使用zlibhttp包的内容进行gzip,所以需要在Centos上安装zlib库。OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。nginx不仅支持http协议,还支持https(即在ssl协议上传输http),所以需要在Centos安装OpenSSL

离线安装 Linux可联网时忽略即可】

离线安装依赖包,解压后使用rpm -Uvh *.rpm --nodeps --force命令安装

[root@xxx local]# rpm -Uvh *.rpm --nodeps --force

【3】安装Nginx:解压Nginx安装包,进入解压后的目录nginx-1.22.1。执行./configure命令。注意:如果需要安装SSL认证需要执行./configure --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module命令。configure脚本的作用就是生成Makefile文件。这个脚本可以带一些参数,用于控制程序的编译行为。通过执行configure --help来查看完整的命令参数。

[root@xxx nginx]# ./configure 

【4】编译:执行make进行编译,编译后才能进行安装

[root@xxx nginx]# make

【5】安装:执行make install进行安装,安装后,可以看到多了一个名为sbin的文件夹

[root@xxx nginx]# make install

【6】启动Nginx:进入sbin文件夹,执行./nginx,启动nginx

[root@xxx sbin]# ./nginx

【7】Nginx默认为80端口,启动后可以在浏览器输入自己的ip和端口号进行验证是否启动成功

【8】环境变量配置:编辑/etc/profile文件,在最后一行添加如下信息:

PATH=$PATH:/usr/local/nginx/sbin

刷新/etc/profile

source /etc/profile

【9】查看nginx版本

[root@xxx sbin]# nginx -v
nginx version: nginx/1.22.1

【10】暴力停止服务

[root@xxx sbin]# nginx -s stop

【12】优雅停止服务

[root@xxx sbin]# nginx -s quit

【13】检查配置文件

[root@xxx sbin]# nginx -t

【14】重新加载配置

[root@xxx sbin]# nginx -s reload

卸载Nginx

方案一:使用apt命令卸载nginx
【1】停止Nginx服务。使用命令sudo systemctl stop nginx来停止Nginx服务,确保Nginx不再在运行中。
【2】确认Nginx服务是否已停止。使用命令sudo systemctl status nginx来确认Nginx服务是否已停止,如果显示Active: inactive,则表示Nginx已停止。
【3】卸载Nginx软件包。使用命令sudo apt remove nginx来卸载Nginx及其相关的依赖软件包。
【4】删除Nginx配置文件和日志文件。使用命令sudo rm -rf /etc/nginx /var/log/nginx来删除Nginx的配置文件和日志文件。
【5】清理可能残留的Nginx文件。使用命令sudo apt autoremove来自动删除不再需要的软件包和依赖项。
【6】验证Nginx是否已完全卸载。使用命令which nginx来验证Nginx是否已成功卸载,如果没有任何输出,表示Nginx已成功卸载。

方案二:使用源码安装的方式卸载nginx
【1】如果我们是通过源码安装的方式安装的nginx,那么卸载它就需要一些额外的步骤。首先,我们需要找到nginx的安装目录,一般来说,它是在/usr/local/nginx下面。然后,我们可以执行以下命令:

[root@xxx sbin]# sudo make uninstall

【2】这个命令会删除nginx的程序文件和配置文件,但是不会删除nginx的日志文件和缓存文件。如果我们想要完全删除nginx的所有文件,可以使用以下命令:

[root@xxx sbin]# sudo rm -rf /usr/local/nginx

【3】这个命令会删除nginx的所有文件和目录,包括日志文件和缓存文件。这个命令会删除一些可能有用的数据,所以在执行之前请做好备份。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/420473.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

XSS中级漏洞(靶场)

目录 一、环境 二、正式开始闯关 0x01 0x02 0x03 0x04 0x05 0x06 0x07 0x08 0x0B 0x0C 0x0D 0x0E ​ 0x0F 0x10 0x11 0x12 一、环境 在线环境(gethub上面的) alert(1) 二、正式开始闯关 0x01 源码: 思路:闭…

【Javascript编程实操02】1、判断一个年份是闰年还是平年 2、找到三个数中最小的数

目录 前言 1、判断一个年份是闰年还是平年 原理: 代码: 实现效果: 2、找到三个数中最小的数 流程图: 代码: 实现效果: 总结 前言 本次继续针对Javascript阶段的if...else...的实操练习&#xff0…

《读写算》杂志社读写算杂志社2024年第2期目录

教育资讯 教育部印发通知部署:做好2024年寒假期间校外培训治理工作 1《读写算》投稿:cn7kantougao163.com 北京提升学校心理健康工作水平——每校至少配备一名专职心理健康教育教师 1 湖北孝感:2026年达成小学毕业时人人会游泳 2…

【Qt】Sqlite数据库加密

1. 加密方式 对数据库文件加密。既不会暴露表结构,也不会暴露数据细节。 2. 加密工具(QtCipherSqlitePlugin) 用于密码 SQLite 的 Qt 插件,它基于 SQLite 源和 wxWidget 中的 wxSQLite3插件github地址:https://gith…

【力扣hot100】刷题笔记Day17

前言 今天竟然不用开组会!天大的好消息,安心刷题了 46. 全排列 - 力扣(LeetCode) 回溯(排列) class Solution:def permute(self, nums: List[int]) -> List[List[int]]:# 回溯def backtrack():if len(…

【InternLM 实战营笔记】浦语·灵笔的图文理解及创作部署、 Lagent 工具调用 Demo

浦语灵笔的图文理解及创作部署 浦语灵笔是基于书生浦语大语言模型研发的视觉-语言大模型,提供出色的图文理解和创作能力,结合了视觉和语言的先进技术,能够实现图像到文本、文本到图像的双向转换。使用浦语灵笔大模型可以轻松的创作一篇图文推…

【办公类-18-03】(Python)中班米罗可儿证书批量生成打印(班级、姓名)

作品展示——米罗可儿证书打印幼儿姓名 背景需求 2024年3月1日,中4班孩子一起整理美术操作材料《米罗可儿》的操作本——将每一页纸撕下来,分类摆放、确保纸张上下位置正确。每位孩子们都非常厉害,不仅完成了自己的一本,还将没有…

nginx如何配置命令启动

我安装好nginx后,发现不能使用systemctl start nginx或者systemctl stop nginx来控制启停 解决方法如下 首先要建一个nginx.pid的文件 一般是建在 /var/run/这个路径下面 sudo touch /var/run/nginx.pid 添加权限 sudo chmod 644 /var/run/nginx.pid可以进入到…

C#,双向链表(Doubly Linked List)归并排序(Merge Sort)算法与源代码

1 双向链表 双向链表也叫双链表,是链表的一种,它的每个数据结点中都有两个指针,分别指向直接后继和直接前驱。所以,从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点。一般我们都构造双向循…

数学学习与研究杂志社《数学学习与研究》杂志社编辑部2023年第29期目录

考试研究 提高高三数学二轮复习质量的思考与实践 佘淮青; 2-4 提升高三数学复习质量的策略探究 王飞; 5-7 核心素养背景下的高中数学命题策略研究 陈明发; 8-10 提升中考数学复习课的有效性研讨 韩兴宏; 11-13 中学教学方法《数学学习与研究》投稿:…

【前端素材】推荐优质后台管理系统DAdmin平台模板(附源码)

一、需求分析 1、系统定义 后台管理系统是一种用于管理网站、应用程序或系统的管理界面,通常由管理员和工作人员使用。它提供了访问和控制网站或应用程序后台功能的工具和界面,使其能够管理用户、内容、数据和其他各种功能。 2、功能需求 后台管理系…

微信小程序手势冲突?不存在的!

原生的应用经常会有页面嵌套列表,滚动列表能够改变列表大小,然后还能支持列表内下拉刷新等功能。看了很多的小程序好像都没有这个功能,难道这个算是原生独享的吗,难道是由于手势冲突无法实现吗,冷静的思考了一下&#…

软考-计算题

1.二维矩阵转换成一维矩阵 2.算术表达式: 3.计算完成项目的最少时间:之前和的max(必须之前的所有环节都完成) 松弛时间:最晚开始时间-最早开始时间 最早:之前环节都完成的和的max 最晚:总时间…

LTX Studio开放测试,用户可以通过输入文本来生成超过25秒的微电影视频;人工智能的崛起和局限

🦉 AI新闻 🚀 LTX Studio开放测试,用户可以通过输入文本来生成超过25秒的微电影视频 摘要:LTX Studio是由著名AI平台Lightricks推出的生成式AI电影制作平台。用户可以通过输入文本来生成超过25秒的微电影视频,并且可…

K8s安全一

Kubernetes是一个开源的,用于编排云平台中多个主机上的容器化的应用,目标是让部署容器化的应用能简单并且高效的使用, 提供了应用部署,规划,更新,维护的一种机制。其核心的特点就是能够自主的管理容器来保证云平台中的…

雷达新研社丨宏电雷达水位计化身“智慧管家”,守护滁州城市生命线

城市生命线是维系城市正常运行、满足群众生产生活需要的重要基础设施。为大力推进城市生命线安全工程建设,加快韧性城市建设,滁州市实施了城市生命线安全工程建设项目。 项目包含对全市1650.5公里排水安全监测感知网的建设,宏电股份作为智慧…

第四十七回 一丈青单捉王矮虎 宋公明二打祝家庄-强大而灵活的python装饰器

四面全是埋伏,宋江和众人一直绕圈跑不出去。正在慌乱之时,石秀及时赶到,教大家碰到白杨树就转弯走。走了一段时间,发现围的人越来越多,原来祝家庄以灯笼指挥号令。花荣一箭射下来红灯龙,伏兵自己就乱起来了…

仿牛客网项目---显示评论和添加评论功能的实现

这篇文章,我来介绍一下我的项目中的另外一个功能:显示评论和添加评论。 其实这两个功能都不怎么重要,我感觉最重要的应该是用户注册登录功能,这个也了解一下,知道这么一回事儿就好。 首先设计DAO层。 Mapper public …

LNMP架构介绍及配置--部署Discuz社区论坛与wordpress博客

一、LNMP架构定义 1、LNMP定义 LNMP(Linux Nginx Mysql Php)是指一组通常一起使用来运行动态网站或者服务器的自由软件名称首字母缩写;Linux系统下NginxMySQLPHP这种网站服务器架构。 Linux是一类Unix计算机操作系统的统称,是目…

Qt程序设计-指南针自定义控件实例

本文讲解Qt指南针自定义控件实例。 效果演示 创建指南针类 #ifndef COMPASS_H #define COMPASS_H#include <QWidget> #include <QWidget> #include <QTimer> #include <QPainter> #include <QPen> #include <QDebug> #include <QtMat…