版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Nginx服务目录01Nginx概述02Nginx安装部署03Nginx基本配置04Nginx应用案例Nginx概述
Nginx概述
Nginx(“enginex”)Nginx是一个轻量级的web服务器,相比apache来说资源消耗更低。支持高并发的Web服务和反向代理服务,支持基于IMAP/POP3/SMTP协议的邮件服务。同时也支持FastCGI、SSL、VirtualHost、URLRewrite、Gzip等模块功能。并且支持很多第三方的模块扩展。
官网/doc/index.html
中文文档
Nginx概述
Nginx与Apache区别静态文件处理能力:nginx高于apache资源消耗:nginx优于apache,因为nginx是异步非阻塞处理模型,只需要几个进程就能够处理大量在线请求,而apache2.4仍然是进程模型或者线程模型,即仍然采用大量线程来处理大量在线请求。nginx支持IO多路复用实现进程高并发,高效处理客户端请求。Apache支持的模块很多,而且也比较稳定。而nginx由于出现的比较晚,所以在这方面可能比不上Apache。nginx本身就是一个反向代理服务器,而且支持7层负载均衡。nginx处理动态页面很鸡肋,一般只用于处理静态页面和反向代理。
Nginx结构
Nginx主进程/工作进程一个主进程master:负载加载和分析配置文件、管理工作进程、平滑升级;多个工作进程worker:处理并响应用户请求。Nginx模块结构核心模块:HTTP模块、EVENT模块和MAIL模块基础模块:HTTPAccess模块、HTTPFastCGI模块、HTTPProxy模块和HTTPRewrite模块第三方模块:HTTPUpstreamRequestHash模块、Notice模块和HTTPAccessKey模块。Nginx模块结构Web服务处理静态文件,索引文件及自动索引;对FastCGI的动态程序进行缓存。SSL和TLSSNI支持反向代理通过正则匹配,采取不同的转发策略;对返回结果进行错误页跳转,异常判断。邮件服务使用外部HTTP认证服务器重定向用户到IMAP/POP3后端;使用外部HTTP认证服务器重定向用户到SMTP后端。负载均衡内置策略:轮询,加权轮询,Iphash;扩展策略;
Nginx主要功能
Nginx工作拓扑Nginx工作拓扑
Nginx工作拓扑Nginx负载均衡工作拓扑图IPhash策略
Nginx工作拓扑Nginx负载均衡策略轮询策略加权策略Nginx安装部署
Nginx安装部署gcc环境支持pcre库:是一个Perl库,包括perl兼容的正则表达式库。nginx的http模块使用pcre来解析正则表达式,所以需要在linux上安装pcre库。pcre-devel:是使用pcre开发的一个二次开发库。nginx也需要此库。zlib库:提供了很多种压缩和解压缩的方式,nginx使用zlib对http包的内容进行gzip。openssl库:不仅支持http协议,还支持https(即在ssl协议上传输http)。
Nginx安装部署
YUM安装上传压缩包,并解压:tarzxflnmp-repo.tar.gz配置yum源:yum-config-manager--add-repofile:///root/lnmp-repo--enableyum安装:yuminstall-ynginx–nogpgcheck
Nginx安装部署
Nginx服务管理配置文件测试:/usr/sbin/nginx–tNginx服务启动:/usr/sbin/nginxNginx服务关闭:systemctlstopnginx配置文件重新加载:
nginx-sreload查看服务端口号:netstat-tlnp
Nginx服务端口Nginx服务默认端口:80默认访问页面:http://IPNginx安装部署Nginx基本配置
Nginx配置文件
Nginx配置文件主配置文件:nginx.conf安装配置目录:/etc/nginx/相关的配置文件:fastcgi,uwsgi,scgi支持的mime类型:mime.typesNginx主程序文件
/usr/sbin/nginx
Nginx主配置文件结构
Nginx主配置文件结构mainblock字段:全局配置;events字段:服务程序性能参数、事件驱动相关配置;http字段:配置网站访问参数、http/https协议相关的配置;server字段:针对网站配置参数;location字段:站点目录相关配置;stream字段:一般的TCP代理或负载均衡配置。mainblock#主配置段,也即全局配置段;events{worker_connections1024;#事件性能相关的配置,单进程响应N个请求
... }http{#http/https协议相关的配置段...}mail{...}stream{ ...}
Nginx基本配置正常运行必备的配置参数user
name
#定义启动Nginx工作进程的用户pid
/PATH/TO/PID_FILE#指定存储nginx主进程进程号码的文件路径。include
file|mask#指明包含进来的其它配置文件片断。load_module
file;#指明要装载的动态模块。
Nginx服务基本配置性能优化相关配置参数worker_processes
num
#work进程数量默认1,根据服务器的cpu数量设定,最大不超过cpu数量的2倍。worker_cpu_affinity
auto#worker与CPU进行绑定,做nginx服务器可以使用此配置,有其它重要程序运行,不建议使用。worker_priority
number
#指定worker进程的nice值,设定worker进程优先级;[-20,19]worker_rlimit_nofilenumber#worker进程所能够打开的文件数量上限
Nginx服务基本配置
调试、定位相关配置参数daemon
on|off
#是否以守护进程方式运行Nignx;master_process
on|off
#是否以master/worker模型运行nginx;默认为onerror_logfile
[level]
#错误日志记录
Nginx服务基本配置
配置参数注意事项每条参数必须以分号结尾;支持使用配置变量 内建变量:由Nginx模块引入,可直接引用 自定义变量:由用户使用set命令定义
例如: setvariable_namevalue; 引用变量:$variable_name
事件驱动相关配置结构events:事件驱动相关配置events{
worker_connectionsnumber;
#每个worker进程所能够打开的最大并发连接数数量 总共的并发连接数数量:
worker_processes*worker_connections
usemethod;
#指明并发连接请求的处理方法
useepoll;(epoll没限制) useselect;(只能处理1024个请求,一般不使用)
accept_mutexon|off;
#处理新的连接请求的方法;on意味着由各worker轮流处理新请求,Off意味着每个新请求的到达都会通知所有的worker进程}
http协议相关配置结构http{ ...#各server的公共配置 server{ ... }#每个server用于定义一个虚拟主机
server{ ... listen#监听地址和端口 server_name#主机名 root#站点根目录(document_root) alias#虚拟目录路径别名 location[OPERATOR]URL{#针对于一些URL的条件 ... ifCONDITION{ ...
}
upstream{ip_hash;#匹配iphash算法serverIPweight=*;#轮询后端服务器IP,设置负载均衡权重 }
}
}
}location
[=|~|~*|^~]
uri
{...}
location指定各种URL的访问属性,如果对于条件匹配成功后,就会引用后续的命令参数配置,会覆盖掉之前的相关配置
=
#对URI做精确匹配;
~
#对URI做正则表达式模式匹配,区分字符大小写
~*
#对URI做正则表达式模式匹配,不区分字符大小写
^~
#对URI的左半部分做匹配检查,不区分字符大小写
不带符号
#匹配起始于此uri的所有的url匹配优先级:
=
>
^~
>
~/~*
>不带符号举例location
/#表示以根起始的所有文件location=/#精准匹配根目录
http协议相关配置结构Nginx应用案例
应用案例 案例1:通过Nginx搭建静态网站,基于IP过滤设置用户访问限制。实验环境:虚拟机server1作为nginx服务器步骤step1修改配置文件在server1中:cd/usr/local/nginxcdconf/vimnginx.conf应用案例server{listen80;server_nameserver1;location/a{
allow192.168.88.0/24;denyall;##默认拒绝访问#基于客户端IP做过滤,符合条件的允许访问,不符合的返回404;if($remote_addr!~"192.168.88"){#return404;returnhttp://404.com;}error_page500502503504/50x.html;}安全访问链接 案例2:开启443端口配置https安全访问链接实验环境:SSL证书(阿里云服务,第三方购买):key文件*.key和安全证书*.crt和自签证书安装ssl模块:http_ssl_module
openssl-devel
安装命令:yuminstall-yopenssl-devel--nogpgcheck证书生成:1.mkdir
/www
2.opensslgenrsa-out/www/server.key
3.opensslreq-new-key/www/server.key-out/www/server.csr
4.opensslx509-req-in/www/server.csr-signkey/www/server.key-out/www/server.crtserver{
listen443sslhttp2; #监听443端口(nginx1.15版本后监听443;需要443ssl;)server_name_;sslon; #开启sslindexindex.htmlindex.htm;
ssl_certificate/www/server.crt; #配置ssl证书
ssl_certificate_key/www/server.key; #配置证书秘钥}firewall-cmd--perment--add-port=443/tcpfirewall-cmd--reload安全访问链接这里可以看到已经能成功访问了,提示不安全因为这是自己颁发的证书,所以浏览器认为这是不安全的rewrite
regex
replacement[flag]; #将用户请求的URI基于regex所描述的模式进行检查,匹配时将其替换为replacement指定的新URI #注意:如果在同一
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新春彩绘活动策划方案(3篇)
- 氟化钠应急预案(3篇)
- 淄博烧烤口碑营销方案(3篇)
- 熔铝炉施工方案(3篇)
- 电厂烟囱改造施工方案(3篇)
- 砌体工程样板施工方案(3篇)
- 简易拦水坝施工方案(3篇)
- 花房钢结构施工方案(3篇)
- 超市活动方案策划引流(3篇)
- 餐厅包厢营销方案计划(3篇)
- 国家职业技术技能标准 6-12-02-00 中药炮制工 人社厅发201957号
- 2024年高考政治试卷(江苏卷)附答案解析
- 《工业废水臭氧催化氧化深度处理技术规程》(T-SDEPI 030-2022)
- 主题班会课件-学会调节自己的情绪
- 城市雨水管道清淤施工方案
- 现代药物制剂与新药研发智慧树知到答案2024年苏州大学
- TD/T 1051-2017 土地整治信息分类与编码规范(正式版)
- 行政诉讼模拟法庭
- 颅内动脉狭窄治疗策略
- 2023年上海见证取样员考试试题
- 领导干部在企业兼职(任职)情况自查自纠登记表
评论
0/150
提交评论