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

【Nginx】nginx入门

文章目录

  • 一、Web服务器
  • 二、Nginx
  • 三、Nginx的作用
    • Web服务器
    • 正向代理
    • 反向代理
  • 四、CentOS上安装Nginx(以CentOS 7.9为例)

一、Web服务器

Web 服务器,一般是指“网站服务器”,是指驻留于互联网上某种类型计算机的程序。Web 服务器可以向 Web 浏览器等客户端提供文档,也可以放置网站文件,让全世界浏览,更可以放置数据文件,让全世界下载。

Web 服务器,也称为“WWW 服务器”( 英文全写: World Wide Web,翻译成中文:万维网或环球信息网 ),主要功能是“提供网上信息浏览服务”。 WWW 是 Internet(互联网)的多媒体信息查询工具,是 Internet(互联网)上发展起来的服务,也是发展最快和目前使用最广泛的服务。正是因为有了 WWW 工具,才使得近十几年来互联网迅速繁荣发展,用户数量飞速飙升。据最新数据显示,目前全球人口数量达到 76.76 亿人,其中全球“网民”(互联网用户)达到惊人的 43.88 亿。

例如百度就是一个 web 服务器,提供搜索服务。

在这里插入图片描述


二、Nginx

Nginx 是一款自由的、开源的、高性能的 HTTP 服务器和反向代理服务器;同时也是一个 IMAP、 POP3、 SMTP 代理服务器; Nginx 可以作为一个 HTTP 服务器进行网站的发布处理,另外 Nginx 可以作为反向代理进行负载均衡的实现。可以理解 Nginx 是 web 服务器的一种实现。

Nginx 是一个安装非常的简单、配置文件非常简洁(还能够支持perl语法=>可以理解为正则表达式 )、Bug非常少的服务,Nginx 启动容易,并且几乎可以做到7*24小时不间断运行,即使运行数个月也不需要重新启动,还能够不间断服务的情况下进行软件版本的升级

同时,它的底层是C语言实现的,官方数据测试表明能够支持高达 5w个并发连接数的响应。


三、Nginx的作用

Web服务器

Nginx 作为 Web 服务器可以向各种浏览器等客户端提供浏览服务,比如我们通过手机、电脑、平板可以访问百度来实现对 web 服务器的访问。

在这里插入图片描述


正向代理

在这里插入图片描述

在这里插入图片描述

正向代理的工作方式

  1. 客户端配置网络设置,将请求发送给正向代理服务器
  2. 正向代理服务器接收到请求后,根据客户端请求的目标地址,代表客户端向目标服务器发送请求
  3. 目标服务器处理请求并发送响应
  4. 正向代理服务器接收到响应后,将其返回给客户端

正向代理的主要功能

  1. 访问控制:正向代理可以根据特定的策略和规则,对客户端的请求进行访问控制,例如限制特定网站的访问或实施身份验证
  2. 隐私保护:正向代理可以隐藏客户端的真实身份和位置,提供一定的匿名性
  3. 缓存:正向代理可以缓存常用的内容,以减少网络流量和提高响应速度
  4. 加速访问:正向代理服务器可以通过压缩、缓存和优化网络连接等方式,加速客户端与目标服务器之间的通信。

反向代理

反向代理 扮演服务器的角色,接收来自客户端的请求,并将其转发到后端服务器,对于用户是无感知的,客户端发送请求,但是不知道哪个服务端收到了请求,客户端只和反向代理进行通信。

在这里插入图片描述

反向代理的工作方式

  1. 客户端向反向代理发送请求
  2. 反向代理接收到请求后,根据预先设置的规则,将请求转发到一个或多个后端服务器
  3. 后端服务器处理请求并发送响应
  4. 反向代理接收到响应后,将其返回给客户端

反向代理的主要功能包括

  1. 负载均衡:反向代理可以将请求分发到多个后端服务器,以实现负载均衡,提高系统的性能和可扩展性。
  2. 缓存:反向代理可以缓存静态内容,减轻后端服务器的负载,提高响应速度
  3. 安全性:反向代理可以作为防火墙,保护后端服务器免受恶意请求和攻击
  4. SSL 加密:反向代理可以终止 SSL 连接,解密传入的请求,并将其转发给后端服务器,提供安全的通信

四、CentOS上安装Nginx(以CentOS 7.9为例)

检查宿主机上是否存在Nginx

ps -ef | grep nginx

在这里插入图片描述

这里我们可以看到机器上并不存在nginx。

安装nginx

💕 配置yum源

rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

在这里插入图片描述

💕 构建缓存

在这里插入图片描述

构建缓存的目的是为了后续加速nginx的下载。

💕 通过安装nginx

yum install nginx -y

在这里插入图片描述

💕 查看并启动nginx

#查看nginx是否启动#启动nginx(方式一)
systemctl start nginx
#启动nginx(方式二)
nginx
#关闭nginx
kill PID

在这里插入图片描述

💕 nginx调整配置

cd /etc/nginx/

在这里插入图片描述

查看该文件

在这里插入图片描述

[root@iZf8z8fcvqy10dpg47hwlxZ conf.d]# cat default.conf 
server {listen       80;server_name  localhost;#access_log  /var/log/nginx/host.access.log  main;location / {root   /usr/share/nginx/html;index  index.html index.htm;}#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   /usr/share/nginx/html;}# proxy the PHP scripts to Apache listening on 127.0.0.1:80##location ~ \.php$ {#    proxy_pass   http://127.0.0.1;#}# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000##location ~ \.php$ {#    root           html;#    fastcgi_pass   127.0.0.1:9000;#    fastcgi_index  index.php;#    fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;#    include        fastcgi_params;#}# deny access to .htaccess files, if Apache's document root# concurs with nginx's one##location ~ /\.ht {#    deny  all;#}
}

💕 在浏览器看是否执行成功

在这里插入图片描述


相关文章:

  • 一个 SpringBoot 项目能同时处理多少请求?
  • jmeter-03界面介绍
  • [SWPUCTF 2021 新生赛]Do_you_know_http
  • 红队打靶练习:PHOTOGRAPHER: 1
  • 使用No-SQL数据库支持连接查询用例的讨论
  • HarmonyOS远程真机调试方法
  • 品牌如何营造生活感氛围?媒介盒子分享
  • 列式数据库、行式数据库简介
  • 韦达定理用处多
  • Python爬虫urllib详解
  • 微服务-微服务Alibaba-Nacos 源码分析 (源码流程图)-2.0.1
  • JAVA面试题之三分布式和微服务的区别是什么?
  • 改进神经网络
  • C语言——R/预处理详解
  • centos7编译安装redis
  • CAP理论的例子讲解
  • CSS 专业技巧
  • Dubbo 整合 Pinpoint 做分布式服务请求跟踪
  • express + mock 让前后台并行开发
  • JavaScript 是如何工作的:WebRTC 和对等网络的机制!
  • JS题目及答案整理
  • PHP变量
  • Ruby 2.x 源代码分析:扩展 概述
  • SQLServer之创建显式事务
  • 回顾2016
  • 开发基于以太坊智能合约的DApp
  • 前端路由实现-history
  • 软件开发学习的5大技巧,你知道吗?
  • 消息队列系列二(IOT中消息队列的应用)
  • #100天计划# 2013年9月29日
  • (1)bark-ml
  • (2)关于RabbitMq 的 Topic Exchange 主题交换机
  • (solr系列:一)使用tomcat部署solr服务
  • (SpringBoot)第七章:SpringBoot日志文件
  • (八)Spring源码解析:Spring MVC
  • (初研) Sentence-embedding fine-tune notebook
  • (附源码)spring boot基于Java的电影院售票与管理系统毕业设计 011449
  • (接口封装)
  • (九)信息融合方式简介
  • (离散数学)逻辑连接词
  • (免费领源码)python+django+mysql线上兼职平台系统83320-计算机毕业设计项目选题推荐
  • (四)图像的%2线性拉伸
  • (学习日记)2024.01.09
  • (一)认识微服务
  • (转)c++ std::pair 与 std::make
  • *Algs4-1.5.25随机网格的倍率测试-(未读懂题)
  • ./configure,make,make install的作用
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .Net Winform开发笔记(一)
  • .NET/C# 阻止屏幕关闭,阻止系统进入睡眠状态
  • .NET下ASPX编程的几个小问题
  • .ui文件相关
  • @Bean有哪些属性
  • @DependsOn:解析 Spring 中的依赖关系之艺术
  • [ vulhub漏洞复现篇 ] Apache APISIX 默认密钥漏洞 CVE-2020-13945