文章目录

  • 一、基础
    • 1.1 what can nginx do
      • 1.1.1 基本HTTP服务
      • 1.1.2 高级HTTP服务
      • 1.1.3 Nginx常用的功能模块
      • 1.1.4 Nginx的核心组成
    • 1.2 why nginx?
    • 1.3 安装(略)
    • 1.4 nginx的目录结构
    • 1.5 nginx.conf的几个关键配置
      • keepalive_timeout
      • keepalive_requests
      • server块和location块
      • 静态资源
      • 如何将Nginx作为一个简单的文件下载服务器(实用)
  • 二、
  • 三、

一、基础

1.1 what can nginx do

Nginx提供的基本功能服务从大体上归纳为"基本HTTP服务"、“高级
HTTP服务”和"邮件服务"(略)等三大类。

1.1.1 基本HTTP服务

Nginx可以提供基本HTTP服务,可以作为HTTP代理服务器和反向代理服
务器,支持通过缓存加速访问,可以完成简单的负载均衡和容错,支持
包过滤功能
,支持SSL等。

  • 处理静态文件、处理索引文件以及支持自动索引;
  • 提供反向代理服务器,并可以使用缓存加上反向代理,同时完成负载
    均衡和容错;【??? 如何缓存加速】
  • 提供对FastCGI、memcached等服务的缓存机制,,同时完成负载均
    衡和容错;
  • 使用Nginx的模块化特性提供过滤器功能。Nginx基本过滤器包括
    gzip压缩、ranges支持、chunked响应、XSLT、SSI以及图像缩放
    等。其中针对包含多个SSI的页面,经由FastCGI或反向代理,SSI过
    滤器可以并行处理。
  • 支持HTTP下的安全套接层安全协议SSL.
  • 支持基于加权和依赖的优先权的HTTP/2

1.1.2 高级HTTP服务

  • 支持基于名字和IP的虚拟主机设置
  • 支持HTTP/1.0中的Keep-Alive模式和管线(PipeLined)模型连接
    自定义访问日志格式、带缓存的日志写操作以及快速日志轮转。
  • 提供3xx~5xx错误代码重定向功能
  • 支持重写(Rewrite)模块扩展
  • 支持重新加载配置以及在线升级时无需中断正在处理的请求
  • 支持网络监控
  • 支持FLV和MP4流媒体传输

1.1.3 Nginx常用的功能模块

静态资源部署Rewrite地址重写正则表达式反向代理
负载均衡轮询、加权轮询、ip_hash、url_hash、fair
Web缓存
环境部署高可用的环境
用户认证模块...

1.1.4 Nginx的核心组成

nginx二进制可执行文件
nginx.conf配置文件
error.log错误的日志记录
access.log访问日志记录

1.2 why nginx?

(1) 速度更快、并发更高
单次请求或者高并发请求的环境下,Nginx都会比其他Web服务器响应
的速度更快。一方面在正常情况下,单次请求会得到更快的响应,另一
方面,在高峰期(如有数以万计的并发请求),Nginx比其他Web服务器更
快的响应请求。Nginx之所以有这么高的并发处理能力和这么好的性能
原因在于Nginx采用了多进程和I/O多路复用(epoll)的底层实现

(2)配置简单,扩展性强
Nginx的设计极具扩展性,它本身就是由很多模块组成,这些模块的使
用可以通过配置文件的配置来添加。这些模块有官方提供的也有第三方
提供的模块,如果需要完全可以开发服务自己业务特性的定制模块。

(3)高可靠性
Nginx采用的是多进程模式运行,其中有一个master主进程和N多个
worker进程
,worker进程的数量我们可以手动设置,每个worker进程
之间都是相互独立提供服务,并且master主进程可以在某一个worker进
程出错时,快速去"拉起"新的worker进程提供服务。

(4)热部署
现在互联网项目都要求以7*24小时进行服务的提供,针对于这一要求,
Nginx也提供了热部署功能,即可以在Nginx不停止的情况下,对Nginx
进行文件升级、更新配置和更换日志文件等功能。

(5)成本低、BSD许可证
BSD是一个开源的许可证,世界上的开源许可证有很多,现在比较流行
的有六种分别是GPL、BSD、MIT、Mozilla、Apache、LGPL。

1.3 安装(略)

nginx安装文档

1.4 nginx的目录结构

1.5 nginx.conf的几个关键配置

keepalive_timeout

用来设置长连接的超时时间

keepalive_requests

用来设置一个keep-alive连接使用的次数

server块和location块

可配置内容过多,后续再讲

静态资源

有些写死的内容可以放到nginx ,让流量甚至都不需要到real server了,比如

location /get_text {
#这里也可以设置成text/plain
default_type text/html;
return 200 "This is nginx's text";
}

如何将Nginx作为一个简单的文件下载服务器(实用)

有时需要传递文件给同事,可以把文件放到云主机的nginx服务器上,让同事自己下载。当然tomcat之流也能搞,不过Nginx很简单很强大。

location /download/ {alias /usr/local/nginx/html/;if ($request_filename ~* ^.*?\.(html|doc|pdf|zip|docx|txt)$) {add_header Content-Disposition attachment;add_header Content-Type application/octet-stream;}sendfile on;   # 开启高效文件传输模式autoindex on;  # 开启目录文件列表autoindex_exact_size on;  # 显示出文件的确切大小,单位是bytesautoindex_localtime on;  # 显示的文件时间为文件的服务器时间charset utf-8,gbk;  # 避免中文乱码
}

二、

三、

[Nginx]Ngnix基础相关推荐

  1. Nginx实战基础篇一 源码包编译安装部署web服务器

    Nginx实战基础篇一 源码包编译安装部署web服务器 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览.表演.放映.广播或通 ...

  2. Linux中nginx安装基础教程

    Linux中nginx安装基础教程 1.安装所需的运行环境 (1) 需要安装gcc的环境. yum install gcc-c++ (2)第三方包.   Perl库 PCRE(Perl Compati ...

  3. Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛

    Nginx实战基础篇六 通过源码包编译安装部署LNMP搭建Discuz论坛 版权声明: 本文遵循"署名非商业性使用相同方式共享 2.5 中国大陆"协议 您可以自由复制.发行.展览. ...

  4. Nginx Web 基础入门

    目录 Nginx Web 基础入门 Nginx快速安装 两种方式部署Nginx 如何升级nginx或者添加功能 使用systemd管理nginx nginx相关配置文件 nginx的配置文件详解 虚拟 ...

  5. 大神教你Nginx常用基础配置方案

    Nginx的fastcgi模块参数设置 Nginx 有两个配置文件fastcgi_params.fastcgi.conf,两者唯一的区别是,fastcgi.conf 多一个参数 SCRIPT_FILE ...

  6. nginx ---- Nginx服务器基础配置实例

    前面我们已经对Nginx服务器默认配置文件的结构和涉及的基本指令做了详细的阐述.通过这些指令的合理配置,我们就可以让一台Nginx服务器正常工作,并且提供基本的web服务器功能. 接下来我们将通过一个 ...

  7. Nginx 入门基础

    Nginx是什么? "Nginx 是一款轻量级的 HTTP 服务器,采用事件驱动的异步非阻塞处理方式框架,这让其具有极好的 IO 性能,时常用于服务端的反向代理和负载均衡." 这是 ...

  8. Nginx网站服务配置(Nginx服务基础,访问状态统计,访问控制,虚拟主机)

    编译安装Nginx服务 关闭防火墙,将安装 ngnix 所需的软件包上传到 /opt 目录下 安装依赖包 编译安装Nginx 创建运行用户.组 检查.启动.重载配.停止Nginx 增加Nginx系统服 ...

  9. 企业级Nginx服务基础到架构优化详解--25条

    1.隐藏nginx header版本号 2.更改源码隐藏软件名称 3.更改nginx默认用户及用户组 4.配置nginx worker进程个数 5.根据CPU核数进行nginx进程优化 6.nginx ...

最新文章

  1. windows命令实验
  2. 怎么检查python是否安装成功-如何在Docker中检查是否安装了python包?
  3. Python实现微信消息防撤回
  4. UNIX再学习 -- 系统数据文件和信息
  5. 【算法】划分数 动态规划
  6. 【APIO2016】Fireworks【闵可夫斯基和】【凸包向量和】【可并堆】
  7. jmeter进行性能测试_使用JMeter进行性能测试
  8. Java开发中快速提升编码能力的方法有哪些?
  9. al合成迪丽热巴_手机合成照很假?迪丽热巴却被P成“真”人鱼!
  10. Xilinx PLL IP核功能仿真
  11. 【iCore4 双核心板_FPGA】例程五:基础逻辑门实验——逻辑门使用
  12. Spark on YARN 两种模式yarn-cluster yarn-client 面试题
  13. 同轴全息matlab仿真,基于MATLAB的计算全息干涉图仿真
  14. bin文件转dat文件
  15. java jlist 添加滚动条_JList滚动条问题
  16. Vs2008在高DPI下显示模糊的解决办法
  17. JDK的下载与安装(详细版)
  18. Cascade R-CNN: Delving into High Quality Object Detection(个人学习笔记)
  19. 搜狗有一个超良心的功能 Ctrl+shift+E
  20. cocos如何在游戏中动态设置横竖屏

热门文章

  1. python api调用百度ai平台_百度ai开放平台使用方法(附带详细案例步骤)
  2. 国产FPGA(紫光同创)—— 数据采集及千兆以太网传输(二)
  3. 给大家推荐一个进阶直播课,免费的!
  4. 项目开发过程中如何使用免费开发手机验证码验证功能(详细教程)
  5. WIFI知识 - MCS简介
  6. linux系统命令大全
  7. httpCanary app抓包
  8. UCC27201DDAR
  9. LinuxMint使用中文输入法
  10. UltraEdit+注册机+激活方法