Nginx的一些基本功能

nginx常用功能介绍 一、什么是nginx? nginx是一款轻量级的Web 服务器 、反向代理服务器及电子邮件(IMAP/POP3)代理服务器。主要有反向代理,负载均衡的功能。 官方网站为:http://nginx.org/ 。它是一款免费开源的高性能 HTTP 代理服务器及反向代理服务器(Reverse Proxy)产品,同时它还可以提供 IMAP/POP3 邮件代理服务等功能。它高并发性能很好,官方测试能够支撑 5 万的并发量;运行时内存和 CPU 占用率低,配置简单,容易上手,而且运行非常稳定。 http://tengi 阅读详情

1、静态HTTP服务器

首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。

配置:

2
3
4
5
6
server {
     listen 80 ; # 端口号
     location / {
         root /usr/share/nginx/html; # 静态文件路径
     }
}
2、反向代理服务器

什么是反向代理?

客户端本来可以直接通过HTTP协议访问某网站应用服务器,网站管理员可以在中间加上一个Nginx,客户端请求Nginx,Nginx请求应用服务器,然后将结果返回给客户端,此时Nginx就是反向代理服务器。

\

配置:

?
1
2
3
4
5
6
server {
     listen 80 ;
     location / {
         proxy_pass http: //192.168.20.1:8080; # 应用服务器HTTP地址
     }
}

既然服务器可以直接HTTP访问,为什么要在中间加上一个反向代理,不是多此一举吗?反向代理有什么作用?继续往下看,下面的负载均衡、虚拟主机等,都基于反向代理实现,当然反向代理的功能也不仅仅是这些。

3、负载均衡

当网站访问量非常大,网站站长开心赚钱的同时,也摊上事儿了。因为网站越来越慢,一台服务器已经不够用了。于是将同一个应用部署在多台服务器上,将大量用户的请求分配给多台机器处理。同时带来的好处是,其中一台服务器万一挂了,只要还有其他服务器正常运行,就不会影响用户使用。

Nginx可以通过反向代理来实现负载均衡。

\

配置:

 

?
1
2
3
4
5
6
7
8
9
10
upstream myapp {
     server 192.168 . 20.1 : 8080 ; # 应用服务器 1
     server 192.168 . 20.2 : 8080 ; # 应用服务器 2
}
server {
     listen 80 ;
     location / {
         proxy_pass http: //myapp;
     }
}
以上配置会将请求轮询分配到应用服务器,也就是一个客户端的多次请求,有可能会由多台不同的服务器处理。可以通过ip-hash的方式,根据客户端ip地址的hash值将请求分配给固定的某一个服务器处理。

 

配置:

?
1
2
3
4
5
6
7
8
9
10
11
upstream myapp {
     ip_hash; # 根据客户端IP地址Hash值将请求分配给固定的一个服务器处理
     server 192.168 . 20.1 : 8080 ;
     server 192.168 . 20.2 : 8080 ;
}
server {
     listen 80 ;
     location / {
         proxy_pass http: //myapp;
     }
}
另外,服务器的硬件配置可能有好有差,想把大部分请求分配给好的服务器,把少量请求分配给差的服务器,可以通过weight来控制。

 

配置:

 

?
1
2
3
4
5
6
7
8
9
10
upstream myapp {
     server 192.168 . 20.1 : 8080 weight= 3 ; # 该服务器处理 3 / 4 请求
     server 192.168 . 20.2 : 8080 ; # weight默认为 1 ,该服务器处理 1 / 4 请求
}
server {
     listen 80 ;
     location / {
         proxy_pass http: //myapp;
     }
}
4、虚拟主机

 

有的网站访问量大,需要负载均衡。然而并不是所有网站都如此出色,有的网站,由于访问量太小,需要节省成本,将多个网站部署在同一台服务器上。

例如将www.aaa.com和www.bbb.com两个网站部署在同一台服务器上,两个域名解析到同一个IP地址,但是用户通过两个域名却可以打开两个完全不同的网站,互相不影响,就像访问两个服务器一样,所以叫两个虚拟主机。

配置:

 

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
     listen 80 default_server;
     server_name _;
     return 444 ; # 过滤其他域名的请求,返回 444 状态码
}
server {
     listen 80 ;
     server_name www.aaa.com; # www.aaa.com域名
     location / {
         proxy_pass http: //localhost:8080; # 对应端口号8080
     }
}
server {
     listen 80 ;
     server_name www.bbb.com; # www.bbb.com域名
     location / {
         proxy_pass http: //localhost:8081; # 对应端口号8081
     }
}

 

在服务器8080和8081分别开了一个应用,客户端通过不同的域名访问,根据server_name可以反向代理到对应的应用服务器。

虚拟主机的原理是通过HTTP请求头中的Host是否匹配server_name来实现的,有兴趣的同学可以研究一下HTTP协议。

另外,server_name配置还可以过滤有人恶意将某些域名指向你的主机服务器。

5、FastCGI

Nginx本身不支持PHP等语言,但是它可以通过FastCGI来将请求扔给某些语言或框架处理(例如PHP、Python、Perl)。

 

?
1
2
3
4
5
6
7
8
9
server {
     listen 80 ;
     location ~ \.php$ {
         include fastcgi_params;
         fastcgi_param SCRIPT_FILENAME /PHP文件路径$fastcgi_script_name; # PHP文件路径
         fastcgi_pass 127.0 . 0.1 : 9000 ; # PHP-FPM地址和端口号
         # 另一种方式:fastcgi_pass unix:/var/run/php5-fpm.sock;
     }
}

 

配置中将.php结尾的请求通过FashCGI交给PHP-FPM处理,PHP-FPM是PHP的一个FastCGI管理器。有关FashCGI可以查阅其他资料,本文不再介绍。

fastcgi_pass和proxy_pass有什么区别?下面一张图带你看明白:

\

Nginx都可以做什么? 本文只针对 Nginx 在不加载第三方模块的情况能处理哪些事情?Nginx 是一个高性能的 HTTP 和反向代理服务器,同时也是一个 IMAP/POP3/SMTP 代理服务器。 1.反向代理 2.负载均衡 3.HTTP 服务器 4.动静分离 5.正向代理 1、反向代理 反向代理,客户端是无感知代理的存在,以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端;同时反向代理一般是负载均衡的一个原理。通俗的讲就是:. 阅读详情

相关推荐

Nginx常见配置及基本功能讲解

通过灵活的配置,Nginx可以满足各种不同的需求,包括静态文件服务、反向代理、负载均衡、SSL/TLS支持和URL重写等。它被广泛用于构建可靠的、高性能的网络服务。本文将介绍Nginx的常见配置和基本功能,并提供相应的源代码示例。在这个示例中,Nginx监听443端口,并使用指定的SSL证书和私钥来提供加密通信。在这个示例中,Nginx监听80端口并将所有的请求转发到名为。在这个示例中,Nginx监听80端口,并将所有的请求都指向。开头的URL,并永久重定向到新的路径。在这个示例中,当访问以。

loop_code966的博客 107

Nginx简述

什么是Nginx? Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。2011年6月1日,nginx 1.0.4发布。 其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站用户有:百度、京东、新浪、网易、腾讯、淘宝

豪华的博客 1155

机械臂抓取前言

机械臂相关的笔记

weixin_64037619的博客 3908

Nginx到底能干嘛?!Nginx是做什么用的?通俗易懂,前端必看!

Nginx是一个 轻量级/高性能的反向代理Web服务器,它是由C语言写的,所以速度非常快、性能非常优秀。它的主要功能就是反向代理、负载均衡、配置SSL证书、防盗链、解决跨域问题、缓存、限流、动静资源分离等等。 上面介绍了Nginx是一台Web服务器,实际上,他并不是一台真正意义上的物理机服务器,并不是主观上真实存在的实体,它是运行在某一台服务器(电脑)上的软件。

weixin_62244902的博客 2万+

MapGIS地质剖面图绘制实战:从数据准备到整饰出图

本文详细解析了MapGIS地质剖面图绘制的全流程,从数据准备到整饰出图,涵盖了等高线处理、GRD格网化、比例尺控制等关键步骤。通过实战技巧和案例分析,帮助地质工作者高效完成专业地质剖面图绘制,提升矿产勘探和工程勘察的工作效率。

weixin_28335283的博客 592

MBIST --- PATR1.Memorybist测试原理

mem bist作为现在design设计中不可或缺的DFT设计内容,越发重要。本章节主要介绍mem bist组成部分,测试的原理以及注意事项。

sinat_27691203的博客 1万+

nginx用法以及核心知识详解-可以当作使用nginx的操作手册

nginx是一个免费的,开源的,高性能http服务器和反向代理服务器,nginx以其高性能,稳定性,丰富的功能和简单的配置而闻名,nginx解决了c10k的问题(一秒内连接客户端一万),nginx也可以作为负载均衡器。内部没有使用线程而是使用一种更高级的方式 事务驱动机制,是一种异步事件驱动结构。

心比天高,仗剑走天涯,保持热爱,奔赴向梦想! 5109

Arduino ESP32S3开发环境搭建 ------ 在线下载安装包Failed解决方案

本文介绍了Arduino ESP32 S3开发环境搭建的离线解决方案。

张一西的博客 1019

Nginx基本功能及其原理

Nginx基本功能及其原理 转载:https://www.jianshu.com/p/d8bd75c0fb1b

weixin_42286727的博客 146

R数据分析:潜在剖面分析LPA的做法与解释

Latent Profile Analysis (LPA) tries to identify clusters of individuals (i.e., latent profiles) based on responses to a series of continuous variables (i.e., indicators). LPA assumes that there are unobserved latent profiles that generate patterns of resp.

Codewar的博客 1万+

大数据Alluxio面试题及参考答案

Alluxio 在大数据生态里的定位是作为数据编排层,能在不同计算框架和存储系统之间起到桥梁的作用。它的核心功能在于加速数据访问,让大数据应用能够更高效地使用数据。Alluxio 把数据存储和数据处理分离开来,使计算框架可以在不考虑底层存储细节的情况下访问数据,这样就提高了系统的灵活性和可扩展性。Alluxio 和 HDFS 既存在关联又有区别。从关联方面来看,HDFS 是一种广泛使用的分布式文件系统,很多大数据应用都将其作为主要的数据存储系统。Alluxio 可以和 HDFS 集成,把 HDFS 当作底层

大模型大数据攻城狮的专栏 863

Nginx的一些基本功能极速入门

本文主要介绍一些Nginx的最基本功能以及简单配置,但不包括Nginx的安装部署以及实现原理。废话不多,直接开始。1、静态HTTP服务器首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。配置:server { listen 80; # 端口号 location / { root /usr/share/nginx/html; #

叉叉哥的BLOG 6339

安川机器人外部轴添加

本文详细介绍了如何在安川机器人本体上添加第7轴以及如何设置动作,本文以添加点焊枪为例进行讲解。

haier123888的博客 7893

十分钟入门Nginx基本功能

本文主要介绍一些Nginx的最基本功能以及简单配置,但不包括Nginx的安装部署以及实现原理。废话不多,直接开始。 1、静态HTTP服务器 首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。 配置: server { listen 80; # 端口号 location / { root /usr/share/nginx/html...

秃头哥编程 532

Coze智能体开发:如何搭建一个生成长文本的工作流

扣子工作流提供了流程定制化的能力,我们可以把长文生成的流程拆分为多个步骤,例如先通过大模型节点生成大纲、再使用循环节点依次扩写各个段落,最后将各个段落组合起来,从而实现长文生成流程。此工作流可适用于学术写作、商业报告、小说创作等多种场景。

王国平的博客 1790

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

[转]Nginx基本功能极速入门

原文链接:Nginx基本功能极速入门 | 叉叉哥的BLOG 本文主要介绍一些Nginx的最基本功能以及简单配置,但不包括Nginx的安装部署以及实现原理。废话不多,直接开始。 静态HTTP服务器 首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。 配置: server { listen 80; # 端口号 ...

dgrvsq1048的博客 654

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Nginx基本功能极速入门

  本文主要介绍一些Nginx的最基本功能以及简单配置,但不包括Nginx的安装部署以及实现原理。废话不多,直接开始。 1、静态HTTP服务器 首先,Nginx是一个HTTP服务器,可以将服务器上的静态文件(如HTML、图片)通过HTTP协议展现给客户端。 配置: 1 2 3 4 5 6 server { listen 80; # 端口号 loca...

mezheng的专栏 209

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

Nginx基本功能及其原理,配置原理

Nginx基本功能及其原理,配置原理一、正向代理、反向代理二、Nginx配置文件的整体结构三、Nginx配置SSL及HTTP跳转到HTTPS四、nginx 配置管理【nginx.conf 基础配置】【conf.d/*, 具体的域名配置,http://】【Https:// 配置】 相关内容原文地址: 简书:joyitsai:Nginx基本功能及其原理 博客园:得你归去来:nginx 配置管理 一...

爱是与世界平行 1133

Nginx基本使用方法及各模块基本功能

一、Nginx介绍 Nginx是由俄罗斯软件工程师Igor Sysoev开发的一个高性能的HTTP和反向代理服务器,具备IMAP/POP3和SMTP服务器功能,Nginx最大的特点是对高并发的支持和高效的负载均衡,在高并发的需求场景下,是Apache服务器不错的替代品。目前,包括新浪、腾讯等知名网站都已使用Nginx作为Web应用服务器。下面我简单介绍一下: ng...

weixin_34033624的博客 635

nginx基本功能

本文只针对Nginx在不加载第三方模块的情况能处理哪些事情,由于第三方模块太多所以也介绍不完。 1Nginx能做什么 ——反向代理 ——负载均衡 ——HTTP服务器(动静分离) ——正向代理 以上就是我了解到的Nginx在不依赖第三方模块能处理的事情,下面详细说明每种功能怎么做。 2反向代理 反向代理应该是Nginx做的最多的一件事了。反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果..

HELLOW,文浩 152

Nginx详细入门-Nginx常用配置以及基本功能一

Nginx其实在项目中特别常用,用于项目的部署。

qq_38911076的博客 370
上一篇: redis-cluster注意点总结
下一篇: linux下同时启动多个tomcat
毕竟我很菜
博客等级 码龄14年 19粉丝 69原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值