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,一经查实,立即删除!

相关文章

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

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

探索 OceanBase 中图数据的实现

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

如何理解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 ( %这里会执…

伐木工 - 华为OD统一考试

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

libexif库介绍

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

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

在机器学习中&#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…

MyBatis 进阶

MyBatis 进阶 复杂CURD返回设置返回类型&#xff1a;resultType返回字典映射&#xff1a;resultMap 多表查询动态SQL使⽤<<if>if>标签<trim\>标签<where\>标签<set\>标签<foreach\>标签 其他打开日志单元测试不污染数据库 复杂CURD 返回设…

Model::unguard()的作用

这是在生成假数据时碰见的&#xff0c;浅查了一下 Model::unguard() 是 Laravel 框架中的一个方法&#xff0c;它的作用是取消对 Eloquent 模型的属性赋值的安全性保护。 在默认情况下&#xff0c;Laravel 的 Eloquent 模型会对属性赋值做一些安全性检查&#xff0c;例如防止…

Java:IO流详解

文章目录 基础流1、IO概述1.1 什么是IO1.2 IO的分类1.3 顶级父类们 2、字节流2.1 一切皆为字节2.2 字节输出流 OutputStream2.3 FileOutputStream类2.3.1 构造方法2.3.2 写出字节数据2.3.3 数据追加续写2.3.4 写出换行 2.4 字节输入流 InputStream2.5 FileInputStream类2.5.1 构…

LeetCode 225.用队列实现栈(详解) ૮꒰ ˶• ༝ •˶꒱ა

题目详情&#xff1a; 思路&#xff1a;1.定义两个队列用于存储栈的数据&#xff0c;其中一个为空。 2.对我们定义的栈进行入数据&#xff0c;就相当于对不为空的队列进行入数据。 3.对我们定义的栈进行删除&#xff0c;相当于取出不为空的队列中的数据放到为空的队列中&#x…

Python基础入门第八课笔记(自定义函数 lambda)

什么时候用lambda表达式&#xff1f; 当函数有一个返回值&#xff0c;且只有一句代码&#xff0c;可以用lambda简写。 2、lanbda语法 lambda 形参 : 表达式 注意&#xff1a; 1、形参可以省略&#xff0c;函数的参数在lambda中也适用 2、lambda函数能接收任何数量的参数但只能…

MySQL之视图内连接、外连接、子查询案例

目录 一.视图 1.1 含义 1.2 操作 二.案例 三.思维导图 一.视图 1.1 含义 虚拟表&#xff0c;查询方面和普通表一样使用。 1.2 操作 1.创建视图&#xff1a; create or replace view 视图名 as 查询语句&#xff1b; 2.视图的修改&#xff1a; 方式1 create or replace view …

了解长短期记忆 (LSTM) 网络:穿越时间和记忆的旅程

一、说明 在人工智能和机器学习的迷人世界中&#xff0c;长短期记忆 (LSTM) 网络作为一项突破性创新脱颖而出。LSTM 旨在解决传统循环神经网络 (RNN) 的局限性&#xff0c;尤其是在学习长期依赖性方面的局限性&#xff0c;彻底改变了我们在各个领域建模和预测序列的能力。本文深…

Nacos与Eureka

一、前言 在构建和管理微服务架构时&#xff0c;选择适当的服务注册中心至关重要。Nacos和Eureka都是微服务体系结构中常用的服务注册和发现工具。本文将探讨它们之间的区别&#xff0c;帮助开发者在选择适合其项目需求的注册中心时做出明智的决策。 二、架构和适用场景 Nacos …

Java/JDK下载安装与环境配置

Java由Sun Microsystems&#xff08;现在是Oracle的子公司&#xff09;于1995年首次发布。它是一种面向对象的编程语言&#xff0c;广泛应用于Web开发、移动应用程序开发、桌面应用程序开发和企业级应用程序开发等领域。 Java语言的主要特点是跨平台、可移植性强、安全性高和具…

【开源】基于JAVA语言的智能教学资源库系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 课程档案模块2.3 课程资源模块2.4 课程作业模块2.5 课程评价模块 三、系统设计3.1 用例设计3.2 数据库设计3.2.1 课程档案表3.2.2 课程资源表3.2.3 课程作业表3.2.4 课程评价表 四、系统展示五、核心代…

VLM,LLM等大模型如何应用于机器人控制(以强化学习为例)

VLM&#xff1a;视觉语义模型&#xff0c;准确识别图中有什么&#xff0c;处于什么状态&#xff0c;以及不同物体之间的关联。 LLM&#xff1a;语言大模型&#xff0c;可以针对当前的环境&#xff0c;自动生成可执行的任务&#xff0c;或者将人类指令重新分成可执行的子任务。…

[MAUI]在.NET MAUI中调用拨号界面

在.NET MAUI中调用拨号界面 前置要求: Visual Studio 2022 安装包“.NET Multi-platform App UI 开发” 参考文档: 电话拨号程序 新建一个MAUI项目 在解决方案资源管理器窗口中找到Platforms/Android/AndroidManifest.xml在AndroidManifest.xml中添加下文中…块如下:<?xml…