Ubuntu 安装Nginx服务

文章目录

  • 前言
  • 一、Nginx安装
    • 1. Nginx默认安装
    • 2. Nginx指定版本安装
    • 3. Nginx验证
    • 4. Nginx服务控制
      • 4.1 查看服务状态
      • 4.2 停止服务
      • 4.3 启动服务
      • 4.4 重启服务
    • 5. Nginx文件存放目录
  • 二、自己编译Nginx
    • 1. 下载源码
    • 2. 依赖配置
    • 3. 编译
  • 三、Nginx卸载
  • 总结


前言

  Nginx(发音为"engine-x")是一个高性能的开源Web服务器和反向代理服务器,也可以用作负载均衡器、HTTP缓存以及作为前端服务器用于处理静态文件、媒体流、以及其他网络协议(如SMTP、POP3和IMAP)。Nginx最初由Igor Sysoev开发,并于2004年首次发布,目前由Nginx公司进行维护。

Nginx以其出色的性能和高可靠性而闻名,常用于大流量的网站和应用程序,如互联网公司、电子商务平台、内容分发网络(CDN)等。它的设计目标是解决C10K问题,即同时处理成千上万个并发连接的能力。Nginx采用了事件驱动的架构和异步I/O模型,能够高效地处理大量并发请求,同时占用较少的系统资源。

Nginx的主要特点包括:

  • 高性能:Nginx采用了高效的事件驱动和异步I/O模型,能够在高负载下保持出色的性能,处理大量并发请求。

  • 灵活的配置:Nginx使用简洁、易于理解的配置语法,支持灵活的配置选项和模块化的架构,可以根据需要进行定制化配置。

  • 反向代理和负载均衡:Nginx可以作为反向代理服务器,将请求转发给后端服务器,同时支持负载均衡功能,有效分发流量到多个后端服务器上。

  • HTTP缓存:Nginx可以作为HTTP缓存服务器,缓存静态文件和动态内容,减轻后端服务器的负载,提高网站性能。

  • 安全性:Nginx具有强大的安全特性,支持SSL/TLS协议,能够进行HTTPS加密通信,以及提供访问控制、防止DDoS攻击等安全功能。

  • 可扩展性:Nginx提供了丰富的第三方模块和插件,支持动态加载模块,可以扩展其功能,满足不同应用场景的需求。

  总之,Nginx是一个高性能、灵活、可靠和安全的Web服务器和反向代理服务器,适用于处理大量并发请求和高流量的网站和应用程序。它的出色性能和丰富的功能使其成为当前互联网架构中不可或缺的重要组件之一。


一、Nginx安装

1. Nginx默认安装

# 更新索引
sudo apt update
# 安装nginx
sudo apt install nginx

这种方法最方便,直接输入命令,等待完成就完事了。

2. Nginx指定版本安装

# 更新索引
sudo apt update
# 查看当前可用的版本
sudo apt-cache show nginx

查询结果如下:

Package: nginx
Architecture: amd64
Version: 1.18.0-6ubuntu14.4
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Nginx Maintainers <pkg-nginx-maintainers@alioth-lists.debian.net>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 49
Depends: nginx-core (<< 1.18.0-6ubuntu14.4.1~) | nginx-full (<< 1.18.0-6ubuntu14.4.1~) | nginx-light (<< 1.18.0-6ubuntu14.4.1~) | nginx-extras (<< 1.18.0-6ubuntu14.4.1~), nginx-core (>= 1.18.0-6ubuntu14.4) | nginx-full (>= 1.18.0-6ubuntu14.4) | nginx-light (>= 1.18.0-6ubuntu14.4) | nginx-extras (>= 1.18.0-6ubuntu14.4)
Breaks: libnginx-mod-http-lua (<< 1.18.0-6ubuntu5)
Filename: pool/main/n/nginx/nginx_1.18.0-6ubuntu14.4_amd64.deb
Size: 3872
MD5sum: c50a1bfb0a399eeda5a918bad2b7826c
SHA1: db65e7261f613c2145ffb9e6477ee9ef15e9f994
SHA256: 38660dc920b2203436ee75788d9c12d064b9a49984eb7edd61dd572d95a65243
SHA512: 099e1a145adcb5a8543f41caa40a335c1d59bf1150368208829da6ab5b3484415d895223638d628eed3c14532b6302f824a2ff0b6a79163c07b2102453056e1a
Homepage: https://nginx.net
Description-en: small, powerful, scalable web/proxy serverNginx ("engine X") is a high-performance web and reverse proxy servercreated by Igor Sysoev. It can be used both as a standalone web serverand as a proxy to reduce the load on back-end HTTP or mail servers..This is a dependency package to install either nginx-core (by default),nginx-full, nginx-light or nginx-extras.
Description-md5: 902443ddbee17249123a068e7ca7c6d8Package: nginx
Architecture: amd64
Version: 1.18.0-6ubuntu14.3
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Nginx Maintainers <pkg-nginx-maintainers@alioth-lists.debian.net>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 49
Depends: nginx-core (<< 1.18.0-6ubuntu14.3.1~) | nginx-full (<< 1.18.0-6ubuntu14.3.1~) | nginx-light (<< 1.18.0-6ubuntu14.3.1~) | nginx-extras (<< 1.18.0-6ubuntu14.3.1~), nginx-core (>= 1.18.0-6ubuntu14.3) | nginx-full (>= 1.18.0-6ubuntu14.3) | nginx-light (>= 1.18.0-6ubuntu14.3) | nginx-extras (>= 1.18.0-6ubuntu14.3)
Breaks: libnginx-mod-http-lua (<< 1.18.0-6ubuntu5)
Filename: pool/main/n/nginx/nginx_1.18.0-6ubuntu14.3_amd64.deb
Size: 3882
MD5sum: e7457ada9637842d2fcedd602668af4f
SHA1: 5be8b5ec8e832ef7b13adbcd8a39bd9cf328d2d4
SHA256: 940f9d64167ae5bd58c088aa85303687c5b0dfa8b4f6590b9be2a3bc3ed58ac5
SHA512: d18450a685ce0b86a41c596af05a751012b61245e4d5a1b4d276a66ca70c731ac09dacb34a7e4dd203292f1c113ea3ff1bff70484546b05122f39f973362071e
Homepage: https://nginx.net
Description-en: small, powerful, scalable web/proxy serverNginx ("engine X") is a high-performance web and reverse proxy servercreated by Igor Sysoev. It can be used both as a standalone web serverand as a proxy to reduce the load on back-end HTTP or mail servers..This is a dependency package to install either nginx-core (by default),nginx-full, nginx-light or nginx-extras.
Description-md5: 902443ddbee17249123a068e7ca7c6d8Package: nginx
Architecture: amd64
Version: 1.18.0-6ubuntu14
Priority: optional
Section: web
Origin: Ubuntu
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Original-Maintainer: Debian Nginx Maintainers <pkg-nginx-maintainers@alioth-lists.debian.net>
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 48
Depends: nginx-core (<< 1.18.0-6ubuntu14.1~) | nginx-full (<< 1.18.0-6ubuntu14.1~) | nginx-light (<< 1.18.0-6ubuntu14.1~) | nginx-extras (<< 1.18.0-6ubuntu14.1~), nginx-core (>= 1.18.0-6ubuntu14) | nginx-full (>= 1.18.0-6ubuntu14) | nginx-light (>= 1.18.0-6ubuntu14) | nginx-extras (>= 1.18.0-6ubuntu14)
Breaks: libnginx-mod-http-lua (<< 1.18.0-6ubuntu5)
Filename: pool/main/n/nginx/nginx_1.18.0-6ubuntu14_amd64.deb
Size: 3884
MD5sum: a87d97c1546b3cdf48fc705efd14a414
SHA1: 64d4cee238fe7ffefc34f211a7a02f85627c9b3e
SHA256: a7408f7ce51117543ccf42dfd21c0065f214250986d162fc053ee790bd6a386e
SHA512: 59425c26fded38ff92440b65f131bfd0f051d1a87082faedabead517516ac492eed810abc9e8ef7fbf5ca10a79f3bbd769346d572deb9411a45bd0bbe4706c8c
Homepage: https://nginx.net
Description-en: small, powerful, scalable web/proxy serverNginx ("engine X") is a high-performance web and reverse proxy servercreated by Igor Sysoev. It can be used both as a standalone web serverand as a proxy to reduce the load on back-end HTTP or mail servers..This is a dependency package to install either nginx-core (by default),nginx-full, nginx-light or nginx-extras.
Description-md5: 902443ddbee17249123a068e7ca7c6d8

查看查询结果找到版本号:

Version: 1.18.0-6ubuntu14.4
Version: 1.18.0-6ubuntu14.3
Version: 1.18.0-6ubuntu14

安装指定版本:

# 等于号后面给出来指定版本号即可
sudo apt install nginx=1.18.0-6ubuntu14.4

命令执行结果:
在这里插入图片描述

3. Nginx验证

使用curl命令访问服务:

# 使用curl命令访问服务
curl http://127.0.0.1

如果找不到命令,如下图所示:
在这里插入图片描述

先安装一下curl命令:

sudo apt install curl

然后再验证服务:

# 使用curl命令访问服务
curl http://127.0.0.1

出现以下内容说明服务安装成功:

ubuntu@ubuntu:~$ curl http://127.0.0.1
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>body {width: 35em;margin: 0 auto;font-family: Tahoma, Verdana, Arial, sans-serif;}
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p><p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p><p><em>Thank you for using nginx.</em></p>
</body>
</html>

4. Nginx服务控制

4.1 查看服务状态

systemctl status nginx

如下图所示,表示服务正在运行:

在这里插入图片描述

4.2 停止服务

sudo systemctl stop nginx

可看服务状态,下图表示服务停止成功:

在这里插入图片描述

4.3 启动服务

sudo systemctl start nginx

可看服务状态,下图表示服务启动成功:

在这里插入图片描述

4.4 重启服务

sudo systemctl restart nginx

可看服务状态,下图表示服务重启成功:

在这里插入图片描述

5. Nginx文件存放目录

路径描述
/var/log/nginxnginx运行日志的目录
/var/www/htmlweb项目目录
/usr/sbin/nginx服务文件
/etc/nginx配置文件目录

二、自己编译Nginx

1. 下载源码

下载页面:https://nginx.org/en/download.html
下载地址:https://nginx.org/download/nginx-1.24.0.tar.gz

curl -O https://nginx.org/download/nginx-1.24.0.tar.gz

-O 为大写字母

2. 依赖配置

sudo apt install gcc make libpcre3-dev zlib1g-dev openssl libssl-dev

3. 编译

解压源代码:

tar -zxvf nginx-1.24.0.tar.gz

生成编译脚本:

cd nginx-1.24.0/ 
./configure --prefix=/usr/local/nginx --with-http_ssl_module

编译:

make

编译完成:
在这里插入图片描述

安装:

make install

查看验证:

ls /usr/local/nginx
ls /usr/local/nginx/sbin/
sudo /usr/local/nginx/sbin/nginx -t

在这里插入图片描述

三、Nginx卸载

执行卸载命令:

sudo apt purge nginx

执行结果:
在这里插入图片描述
卸载完以后/var/log/nginx、/var/www/html、/etc/nginx这3个目录并不会删除,如果需要删除可以执行删除命令:

sudo rm -rf /var/log/nginx /var/www/html /etc/nginx

注意:删除文件要再三确认!

可以再删除依赖项:

sudo apt autoremove

总结

✍结尾 ❤️ 感谢您的支持和鼓励关注不迷路✍

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SDN和NFV最明显的区别,SDN和传统网络有什么区别

目录 SDN和NFV最明显的区别是 SDN和传统网络有什么区别 一、SDN概述 1.1 S

Fixed win size sliding window

这篇记录灵神题单中的定长滑窗环节&#xff0c;不跟之前的Sliding Window一起了。 1. LC 1423 可获得的最大点数 这题其实有点思维的。实现上简单。 每次从首或者尾部拿&#xff0c;总共拿k次。相当于有n-k张牌不拿。因为不可能从中间截断着拿&#xff0c;因此必然这n-k张牌…

分布式(2)

目录 6.Ribbon和Feign的区别有哪些&#xff1f; 7.SpringCloud和dubbo有什么区别&#xff1f; 8.服务注册和发现是什么意思&#xff1f;SpringCloud如何实现&#xff1f; 9.介绍下网关的作用&#xff1f; 10.谈谈服务降级&#xff0c;熔断&#xff0c;服务隔离&#xff1f;…

机器学习(四) -- 模型评估(3)

系列文章目录 机器学习&#xff08;一&#xff09; -- 概述 机器学习&#xff08;二&#xff09; -- 数据预处理&#xff08;1-3&#xff09; 机器学习&#xff08;三&#xff09; -- 特征工程&#xff08;1-2&#xff09; 机器学习&#xff08;四&#xff09; -- 模型评估…

通货紧缩,通货膨胀

目录 通货紧缩 通货膨胀 通货紧缩 是一个与通货膨胀相对应的经济学概念&#xff0c;是由货币供给量相对于经济增长和劳动生产率提高等要素减少而引致的有效需求严重不足 一般物价水平持续下跌&#xff0c;货币供给量持续下降和经济衰退的现象。当市场上流通的货币减少&…

探索 OceanBase 中图数据的实现

在数据管理和处理的现代环境中&#xff0c;对能够处理复杂数据结构的复杂数据模型和方法的需求从未如此迫切。图数据的出现以其自然直观地表示复杂关系的独特能力&#xff0c;开辟了数据分析的新领域。 虽然 Neo4j 等成熟的图形数据库为处理图形数据提供了强大的解决方案&…

Python从入门到网络爬虫(模块详解)

模块 我们知道&#xff0c;函数和类都是可以重复调用的代码块。在程序中使用位于不同文件的代码块的方法是&#xff1a;导入 (import) 该对象所在的模块 (mudule)。当程序变得越来越大时&#xff0c;将程序的不同部分根据不同分类方法保存在不同文件中通常会更加方便。 导入模…

python抓取异步数据(加载更多类型的),并下载图片,保存到文件夹,实例

源码: {"subjects":[{"episodes_info":"","rate":"8.8","cover_x":3000,"title":"奥本海默","url":"https:\/\/movie.douban.com\/subject\/35593344\/","playabl…

hydra爆破

导语 Hydra 是一个用于暴力破解登录凭据的网络安全工具。它可以通过尝试多个用户名和密码组合来攻击目标系统,以获得未经授权的访问权限。 Hydra 支持多种协议和服务,包括常见的 SSH、FTP、Telnet、HTTP、SMTP 等。它可以通过使用字典文件或生成密码的模式进行强制破解。可以…

如何理解Transformer论文中的positional encoding,和三角函数有什么关系?

大家好&#xff0c;我分享交流下这个问题。 Positional Encoding 掏出一张被无数人讲述的架构图。 Transformer 模型中的位置编码&#xff08;Positional Encoding&#xff09;是为了让模型能够考虑单词在句子中的位置。 由于 Transformer 的自注意力&#xff08;Self-Atte…

bat批处理文件_bat注释汇总

文章目录 1、示例&#xff08;直接结合脚本和结果进行理解&#xff09; 1、示例&#xff08;直接结合脚本和结果进行理解&#xff09; %这是一个注释% %这是另一个注释%rem 这是一个注释 rem 这是另一个注释:这是一个注释 ::这是一个注释 :?这是另一个注释if 1 1 ( %这里会执…

Golang 切片

前言 在Go语言中&#xff0c;切片是一个引用类型&#xff0c;它提供了对数组的动态窗口。切片并不存储任何数据&#xff0c;它只是描述了底层数组中的一个片段。切片的定义包括三个部分&#xff1a;指向数组的指针、切片的长度和切片的容量 基本使用 声明切片&#xff1a;声…

Django在urls.py利用函数path()配置路由时传递参数给调用的视图函数的方法

01-单个参数的传递 问&#xff1a;在urls.py利用函数path()配置路由时能不能传递一些参数给调用的视图函数&#xff1f;因为我有很多路由调用的其实是同一个视图函数&#xff0c;所以希望能传递一些额外的参数。比如路由的PATH信息如果能传递就好了。 答&#xff1a;在Django中…

伐木工 - 华为OD统一考试

OD统一考试 题解&#xff1a; Java / Python / C 题目描述 一根X米长的树木&#xff0c;伐木工切割成不同长度的木材后进行交易&#xff0c;交易价格为每根木头长度的乘积。规定切割后的每根木头长度都为正整数,也可以不切割&#xff0c;直接拿整根树木进行交易。请问伐木工如…

MySQL 日期比较

MySQL日期格式比较常用的两个函数是DATEDIFF()和TIMESTAMPDIFF()。 DATEDIFF SELECT DATEDIFF(2023-12-31 23:59:59, 2023-12-30); # 1SELECT DATEDIFF(2023-11-30 23:59:59, 2023-12-31); # -31第一个参数减去第二个参数得到的天数。 TIMESTAMPDIFF SELECT TIMESTAMPDIFF(…

libexif库介绍

libexif是一个用于解析、编辑和保存EXIF数据的库。它支持EXIF 2.1标准(以及2.2中的大多数)中描述的所有EXIF标签。它是用纯C语言编写的&#xff0c;不需要任何额外的库。源码地址&#xff1a;https://github.com/libexif/libexif &#xff0c;最新发布版本为0.6.24&#xff0c;…

计算圆弧的起始角度、终止角度和矩形信息并使用drawArc绘制圆弧

Qt中常用绘制圆弧的库函数&#xff1a; //函数原型 void QPainter::drawArc(const QRectF &rectangle, int startAngle, int spanAngle)Qt规定1约占16个像素&#xff0c;比如一个完整的圆等于360度&#xff0c;对应的像素角度就是 5760度&#xff08;16 * 360&#xff09;…

深度学习中的自动化标签转换:对数据集所有标签做映射转换

在机器学习中&#xff0c;特别是在涉及图像识别或分类的项目中&#xff0c;标签数据的组织和准确性至关重要。本文探讨了一个旨在高效转换标签数据的 Python 脚本。该脚本在需要更新或更改类标签的场景中特别有用&#xff0c;这是正在进行的机器学习项目中的常见任务。我们将逐…

基于JavaWeb+SSM+Vue家政项目微信小程序系统的设计和实现

基于JavaWebSSMVue家政项目微信小程序系统的设计和实现 源码获取入口Lun文目录前言主要技术系统设计功能截图订阅经典源码专栏Java项目精品实战案例《500套》 源码获取 源码获取入口 Lun文目录 目录 1系统概述 1 1.1 研究背景 1 1.2研究目的 1 1.3系统设计思想 1 2相关技术 2…

如何使用RESTful API构建 web 应用程序

RESTful API 是一种设计风格&#xff0c;用于构建可扩展、灵活和可维护的 web 应用程序。它是一种基于 HTTP 协议的架构风格&#xff0c;旨在提供一组规范和约束&#xff0c;以便客户端和服务器之间的通信更加简单和可预测。 RESTful API 通过使用 HTTP 动词来定义资源的操作&…