nginx作为web服务器的功能模块

Nginx:高性能Web服务器的核心概念、特点和优势以及常见功能模块深度解析! 通过本文的详细介绍,相信你已经对Nginx的核心概念、特点和优势,以及常见功能模块有了全面而深入的了解。Nginx作为一个高性能的Web服务器,在企业级应用中发挥着重要的作用。在实际应用中,根据业务需求选择合适的模块和配置,以达到最佳性能。快去尝试一下Nginx的强大功能吧! 阅读详情

1、nginx虚拟主机

[root@server1 conf]# pwd
/usr/local/lnmp/nginx/conf
[root@server1 conf]# vim nginx.conf
http{
...
121 server{
122         listen 80;
123         server_name www.westos.org;
124 
125         location /{
126         root /www1;
127         index   index.html;
128         }
129 }
130 server{
131         listen 80;
132         server_name www.linux.org;
133 
134         location /{
135         root /www2;
136         index   index.html;
137         }
138 }

139 }
[root@server1 conf]# cd /www1
[root@server1 www1]# cat index.html
www.westos.org
[root@server1 www1]# cd /www2
[root@server1 www2]# cat index.html
www.linux.org
[root@server1 www2]# nginx -s reload

2、https的实现

需要编译ssl模块
cd nginx-1.17.1/
yum install -y openssl-devel  # 编译ssl模块需要的依赖包
 ./configure --prefix=/usr/local/nginx/  --with-http_ssl_module --with-file-aio
make && make install
cd /etc/pki/tls/certs/
make cert.pem   # 制作证书
cp cert.pem /usr/local/nginx/conf/    # 证书在 /usr/local/nginx/conf/才会生效
cd /usr/local/nginx/conf/
vim nginx.conf
     server {
         listen       443 ssl;    # 监听端口为443
         server_name  www.westos.org;
 
         ssl_certificate      cert.pem;    # 证书位置 
         ssl_certificate_key  cert.pem;    # 私钥位置
 
         ssl_session_cache    shared:SSL:1m;
         ssl_session_timeout  5m;
 
         ssl_ciphers  HIGH:!aNULL:!MD5;    # 密码加密方式
         ssl_prefer_server_ciphers  on;     
 
         location / {
             root   /web;   # 根目录位置
             index  index.html index.htm;
         }
     }
 
     server {
         listen 80;
         server_name www.westos.org;
 
         location / {
             root /web;
             index index.html;
         }
     }

3、重定向

[root@server1 sbin]# vim nginx.conf
server{
        listen 80;
        server_name www.westos.org ;(这里可以有多个域名,nginx支持正则匹配,可以减少server数量)

        rewrite ^(.*)$ https://www.westos.org permanent(永久的);301永久重定向,去掉这个就是临时重定向	
}
[root@server1 sbin]# nginx -t
[root@server1 sbin]# nginx -s reload

4、并发、速率限制

[root@server1 conf]# vim nginx.conf
	limit_req_zone $binary_remote_addr zone=one:10m rate=1r/s;
		允许访问html/download/的内容
        location /download/ {
        limit_req zone=one burst=1;  //并发限制为5
        limit_rate 50k;  //速率限制
        }
[root@server1 conf]# nginx -s reload
客户端测试:一次并发请求10个,我们设置的并发量是1,因此只会成功1个
测试:wget http://172.25.27.1/download/*		看到下载速率不大于50k

5、访问控制

[root@server1 admin]# pwd
/usr/local/lnmp/nginx/html/admin
[root@server1 admin]# vim index.html 
admin page
location /admin/ {
		//白名单,黑名单只需要将allow和deny互换位置
        allow 172.25.29.0/24;	//访问控制,与添加allow和deny的顺序有关系
        deny all;							//拒绝所有
}

6、缓存设置

[root@server1 conf]# vim nginx.conf
        location ~ .*\.(gif|jpg|png)$ {
                expires 30d;	//缓存30天
        }

7、防止恶意域名解析

[root@server1 conf]# vim nginx.conf
    server {
        listen       80;
        server_name  _;
        return 500;

8、防盗链
盗链原理:客户去访问server2上的某个资源,但serer2上边没有,所有做了一个假的资源,该资源指向服务器server1上的资源,所以用户能访问到该资源,但是走的是server2的流量。
1)、server的默认发布目录存在资源

[root@server1 conf]# vim nginx.conf
server{
        listen 80;
        server_name www.westos.org westos.org 
 location /{
                root /www1;
                index index.html;
         }
[root@server1 www1]# ls images/    //server1的/www1/images下有一张图片
iso7.gif

server2的默认发布目录下有一个假的资源

[root@server2 html]# cat index.html 
<html>
	<body>
		<img src="http://www.westos.org/images/iso7.gif">    #指向server1的资源
	</body>
</html>
//server2将其默认发布页设为server1主机上的图片
[root@server2 html]# /etc/init.d/httpd restart

所以客户访问server2的该资源时实际上访问的是server1上的资源
2)、server1防盗链

[root@server1 conf]# vim nginx.conf
server{
        listen 80;
        server_name www.westos.org westos.org 
        location ~ \.(gif|jpg|png)$ {
                root /www1;
        valid_referers none blocked www.westos.org;
        if ($invalid_referer) {
                return 403;
                 }
        }

这样配置,再遇到盗链的时候直接报403
3)、我们不仅可以在其盗链时直接拒绝,还可以做个重定向,在遇到这个的时候,让盗链者访问我们指定的资源

[root@server1 conf]# vim nginx.conf
      location ~ \.(gif|jpg|png)$ {
                root /www1;
        valid_referers none blocked www.westos.org;
        if ($invalid_referer) {
                rewrite ^/ http://bbs.westos.org/daolian.jpg;
        }
        }

server{
        listen 80;
        server_name bbs.westos.org;

        location / {
        root /www2;
        index   index.html;
        }
}

9、文字压缩
(1)、配置

vim conf/nginx.conf
	 33     gzip  on;		//开启gzip压缩
	 34     gzip_min_length 20;	//设置将被gzip压缩的响应的最小长度(K)
	 35     gzip_comp_level 3;	//设置响应的gzip压缩级别(1--9)
	 36     gzip_types text/plain application/x-javascript text/css application/xml text/javascript  
application/x-httpd-php image/jpeg image/gif image/png;

(2)、测试

打开浏览器,清空缓存(ctrl + shift + delete)
访问nginx服务器(172.25.60.1)
curl查看:ctrl+shift+c--->Network--->reload--->看Size和Transf

10、图片压缩
需要重新编译,导入第三方模块

/usr/local/nginx/sbin/nginx -V
./configure --help | grep image
./configure --prefix=/usr/local/nginx --with-file-aio --with-http_realip_module --with-http_image_filter_module=dynamic
make
cd objs/
cp -f nginx /usr/local/nginx/sbin/nginx
mkdir /usr/local/nginx/modules
cp ngx_http_image_filter_module.so /usr/local/nginx/modules

cd /usr/local/nginx/
vim conf/nginx.conf
    load_module modules/ngx_http_image_filter_module.so;	//导入模块
    gzip  on;
    location /download/ {
        image_filter resize 100 150;
    }
nginx -s reload
nginx web服务器 结构图 nginx 结构图,这是淘宝的一个技术牛人做的,很不错,学习。 立即下载

相关推荐

配置Nginx实现简单防御cc攻击

本文主要介绍lua+Nginx下如何快速有效得防御CC攻击。至于如何安装Nginx就不详细介绍了,闲话少说,大家请看示例

nginx web模块

nginx web模块介绍

weixin_61428407的博客 233

C# WinForm和Sherlock进行对接

文章目录 前言 一、使用步骤 二、使用步骤 1.引入库 2.读入数据 总结 前言 本人公司最近在做一款瑕疵检测的视觉项目,项目中利用Sherlock从相机中取图和对图像进行视觉处理,然后将图像和数据传输到项目中。这过程中软件需要和Sherlock进行图像和数据的传递,这就需要WinForm和Sherlock进行对接,但我在网上查找了许久能用上的资料十分有限,所以我决定写下这篇文章,来做一次总结,同时也希望能帮助到同样在为此问题困扰的你。 一、使用步骤 废话不...

adminmmrt的博客 3221

web系统四层结构中服务器端,Web数据库应用的三层体系结构Web服务器.PPT

Web数据库应用的三层体系结构Web服务器6.3.2 数据库与Web的交互 图6.8 .NET框架的基本层次结构 6.3.2 数据库与Web的交互 ASP.NET  ASP.NET是一种建立在通用语言上的程序架构。ASP.NET向后兼容ASP,运行在.NET平台上,以前的ASP脚本几乎不经修改就可在.NET平台上运行,从而保护了企业先前的相关投资。 ADO.NET  ASP.NET中的A...

weixin_29192141的博客 1887

数字电路实验避坑指南:如何正确搭建主从JK触发器测试电路(附Proteus仿真)

本文详细解析了主从JK触发器的工作原理及实验搭建指南,重点解决了常见的Catching Problem现象,并提供了Proteus仿真优化方案。通过元器件选型、电路连接步骤和常见错误排查,帮助读者正确搭建测试电路,确保数字电路实验的稳定性和可靠性。

weixin_30790841的博客 469

silvaco例子库学习—mos1ex02

mos1ex02相比于第一个例子,主要进行了mos的输出特性仿真,工艺结构是一样的,所以就只简单讨论一下atlas特性仿真的部分。

weixin_61913839的博客 852

04. Nginx入门-Nginx WEB模块

使用连接状态模块可以通过网页的形式实时的显示用户的连接信息。使用随机主页模块,可以实现用户访问页面时给予其指定的随机页面。为网站快速提供替换网页内容服务,临时解决错误页面问题。模块名称:http_sub_moduleNginx文件压缩模块是http_gzip_static_module、with-http_gunzip_module、ngx_http_gzip_module三个模块对请求中的压缩文件进行分析和处理的。优化用户访问、加速用户访问页面的服务。页面缓存可以减少服务器压力。

weixin_40901913的博客 2031

【前端HTML生成条形码——MQ】

本文将展示前端HTML如何根据用户输入内容生成对应的条形码,附HTML和JS代码。代码如下(示例):

weixin_42588676的博客 1955

Linux 【web 服务器】Nginx 做Web服务器

Nginx是一款轻量级的及电子邮件(IMAP/POP3)代理服务器,其特点是占有内存少,并发能力强。nginx的并发能力确实在同类型的网页服务器中表现较好。Nginx 可以作为静态页面的 web 服务器,同时还支持 CGI 协议的动态语言,比如 perl、php 等。但是不支持 java。Java 程序只能通过与 tomcat 配合完成。Nginx 专为性能优化而开发, 性能是其最重要的考量,实现上非常注重效率 ,能经受高负载的考验,有报告表明能支持高 达 50,000 个并发连接数。

qq_43606536的博客 1079

Qupath软件的安装与使用

Qupath软件的安装与使用软件安装软件下载软件安装【windows版】简单使用文件打开人工标注标注导出和导入 Qupath是一款开源的医学图像标注软件,适合放射影像及数字病理切片等的查看。同时,其自带的标注功能使得医生可以直接通过该软件进行病变区域的标注和分类。跟进一步的,该软件提供groovy脚本运行接口,可供操作者编写和运行脚本,将标注信息转换为xml或者json格式的数据进行进一步的后序处...

qq_40662074的博客 3万+

电机控制个人学习路线及专业书籍资源分享

个人学习电机控制的学习路线,和相关专业书的电子文档分享

weixin_45182459的博客 9913

web以及nginx

客户端代理,增强客户端的作⽤,反向代理是保护服务器反向代理是⼀种代理服务器的配置模式,它代表服务器向客户端提供服务。Web 基础的技术包括超⽂本标记语⾔(HTML)和 HTTP 协议,HTML 是⼀种呈现数据的⽅式(给⼈看的),⽽ HTTP 则是⼀组通信的标准(语法、语义、时许),可以简单的理解为 HTTP 携带 HTML。所谓负载均衡,就是 Nginx 把请求均匀的分摊给上游的应⽤服务器,这样即使某⼀个服务器宕机也不会影响请求的处理,或者当应⽤服务器扛不住了,可以随时进⾏扩容。

m0_73671133的博客 766

基于 Qt C++ 的战术通信终端

logMessage(QString("新客户端连接来自: %1:%2").arg(incomingTcpSocket->peerAddress().toString()).arg(incomingTcpSocket->peerPort()));logMessage(QString("服务器已启动,在 [%1]:%2 监听IPv6连接...").arg(ui->lineEditAddress->text()).arg(port));

寒寒豆豆软件公司的博客 77

Linux下Nginx web服务器的实现及功能模块指令详解

Nginx (engine x)是一个高性能的HTTP和反向代理服务器,也是一款轻量级的Web 服务器关于http协议的相关概念:URL统一资源定位符的形式:shceme://username:password@host:port/path;params?query#fraghttp事务:一次请求和一次响应构成一次事务request请求格式:<metho...

weixin_33932129的博客 227

计算机视觉入门:从像素到理解的旅程

计算机视觉入门:从像素到理解的旅程,计算机视觉是人工智能领域的核心方向之一,旨在让计算机具备理解和解释视觉信息的能力。本文以系统化的知识框架,结合 Python 代码与经典案例,带您从像素级操作逐步掌握计算机视觉核心技术。涵盖图像处理、特征工程、传统机器学习到深度学习模型,助您构建从基础到进阶的完整能力体系。

不踩坑,不知道坑有多深;不总结,踩过的坑白踩。 18万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

nginx的功能模块(Web服务器群集,工作原理,工作模式,nginx和fastcgi的运行原理)

文章目录前言1:nginx的组成结构是什么?2:nginx的工作原理是什么?3:nginx模块从结构上分为哪几类?4:nginx模块从功能上的分为哪几类?5:nginx的进程模型分为哪几个工作模式?6:nginx启动后,master进程和worker进程都是干嘛的?7:Nginx和FastCGI的运行原理是什么?8:工作原理图 前言 Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。 其将源代码以类BSD许可证的形式发布,因它的稳

weixin_47219818的博客 634

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

1.网站服务Nginx的编译安装

/网站根目录在哪,www没有去/usr/local/nginx下去创建,html能作为网页根目录是同理的。[root@proxy ~]# ln -s /usr/local/nginx/sbin/nginx /sbin/ //方便后期使用,创建连接,且不占用空间,也可以用cp,但是慢。王 --------------------------------------------------- taobao(公钥 私钥) 私钥只在taobao手里不在网上传输。//指定端口号,一定要以分号结尾。

shy19950601的博客 773

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

apache nginx 区别

Apache和Nginx的区别 Nginx 轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持低资源低消耗高性能 ,而 apache 在 PHP 处理...

weixin_30666943的博客 100

Nginx VS Apache:性能之巅的对决,谁将问鼎Web服务器之王

常用的web服务器简介Apache服务器LighttpdTomcat服务器IBM WebSphere服务器Nginx简介......由于一一列出要点,会导致篇幅过长哈,接下来用图片展示。

资料免费分享,点击名片 1446

Nginx01-基础

Nginx(“engine x”)一个具有高性能的【HTTP】和【反向代理】的【WEB服务器】,同时也是一个【POP3/SMTP/IMAP代理服务器】。Nginx是由伊戈尔·赛索耶夫(俄罗斯人)使用C语言编写的,Nginx的第一个版本是2004年10月4号发布的0.1.0版本。2011年6月1日,nginx 1.0.4发布。另外Nginx开源了。

李宥的博客 1606

Apache与Nginx的优缺点比较

1、nginx相对于apache的优点:  轻量级,同样起web 服务,比apache占用更少的内存及资源  抗并发,nginx 处理请求是异步非阻塞的,而apache 则是阻塞型的,在高并发下nginx 能保持低资源低消耗高性能  高度模块化的设计,编写模块相对简单  社区活跃,各种高性能模块出品迅速啊  apache 相对于nginx 的优点:  rewrite ,比nginx 的

Gavinlib的专栏 613

Apache和nginx的区别

Apache和Nginx的区别 Nginx 轻量级,采用 C 进行编写,同样的 web 服务,会占用更少的内存及资源 抗并发,nginx 以 epoll and kqueue 作为开发模型,处理请求是异步非阻塞的,负载能力比 apache 高很多,而 apache 则是阻塞型的。在高并发下 nginx 能保持低资源低消耗高性能 ,而 apache 在 PHP 处理慢或者前端压力很...

wjn2000414的博客 338

如何利用Nginx取代Apache:高性能Web服务器的实战指南

常用的web服务器简介Apache服务器LighttpdTomcat服务器IBM WebSphere服务器Nginx简介......由于一一列出要点,会导致篇幅过长哈,接下来用图片展示。

资料免费分享,点击名片 1090

超越Apache:Nginx的高性能Web服务器实战攻略

常用的web服务器简介Apache服务器LighttpdTomcat服务器IBM WebSphere服务器Nginx简介......由于一一列出要点,会导致篇幅过长哈,接下来用图片展示。

资料免费分享,点击名片 975

Nginx实战指南:轻松取代Apache,打造极速Web体验

常用的web服务器简介Apache服务器LighttpdTomcat服务器IBM WebSphere服务器Nginx简介......由于一一列出要点,会导致篇幅过长哈,接下来用图片展示。

资料免费分享,点击名片 171

nginx前端+apache后端的服务器环境---Apache与Nginx的优缺点比较

一.先看一种服务器设计方案:配置“nginx前端服务器+apache后端服务器”的服务器环境 1.体现Nginx的静态功能:实现Nginx作为前端,apache作为后端的服务器设计框架。比如,当用户访问的是80端口的nginx,然后nginx将静态内容留给自己,其余的转发给非80端口的apache,apache处理完毕后再回传给nginx。例如这里我分别访问www.test.com/a.ht

zq_dser的博客 1091
上一篇: nginx实现负载均衡
下一篇: nginx日志和nginx服务便捷化管理
SS_CC_Go
博客等级 码龄9年 16粉丝 119原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值