Nginx教程[归档]
前言
其一,Nginx不是随随便便一篇博文就能讲清楚的,严谨地说,笔者连入门者都算不上;其二,此文系前段日子里,学习Nginx时的笔记归档类博文,还有诸多不完整处,仅供参考。
写这篇博文的时间点:2019-06-17 22:58,寝室在六楼,刚刚感受到了地震的余波。
定义
定义:Nginx是一个最初由俄国程序设计师lgor Sysoev开发的高性能的Web服务器和反向代理服务器,用于HTTP/HTTPS/SMTP/POP3和IMAP协议。
特性:
反向代理/负载均衡器
与Apache的区别
Nginx Apache
Nginx是一个基于事件的Web服务器 Apache是一个基于流程的服务器
所有请求都由一个线程处理 多线程性。一个线程处理一道请求。
Nginx避免子进程的概念 Apache是基于子进程的
Nginx类似于速度 Apache类似于功率
Nginx在负载均衡方面表现较好(用C编写) Apache在内存消耗和连接上没有提高
Nginx支持PHP,对于PHP来说,Nginx更可取 当流量达到进程的极限时,Apache将拒绝新的连接
Nginx只具有核心功能 Apache支持的PHP/Python/Perl和其他语言使用插件时,当程序基于Python或Ruby时,非常有用
Nginx的性能和可伸缩性不依赖于硬件 Apache支持更多的OS
Apache提供了比Nginx更多的功能
Nginx占用内存小,但并发能力强 Apache依赖于CPU和内存等硬件组件
Nginx工作原理
+ 默认情况下,运行中的nginx会包含:1X主进程(master process)和NX工作进程(worker process)
+ 主进程
充当监控进程,而主进程生成的子进程则充当工作进程。
主进程充当整个进程组与管理用户的交互接口,同时对进程进行监护。
它不需要处理网络事件,不负责业务执行,只会通过管理worker进程来实现重启服务,关闭服务,配置文件生效等功能
+ 工作进程
Nginx子进程充当工作进程,负责完成具体的任务。
子进程主要负责完成用户请求与返回用户数据,以及与后端应用服务器的数据交互等工作。
+ Nginx如何处理一道HTTP请求
Nginx接收到请求
首先,根据http请求的“host”头决定由哪个虚拟机处理请求
然后,匹配请求的URI,并根据URI定义规则返回数据。
Nginx目录解析
"/etc/nginx/"
- conf.d/
- fastcgi_params
- koi-win
- nginx.conf
- scgi_params
- sites-enabled/
- uwsgi_params
- fastcgi.conf
- koi-utf
- mime.types #媒体类型
- proxy_params
- sites-available/
- snippets/
- win-utf
分类对目录说明
Nginx主配置文件/目录 | 配置文件
/etc/nginx
/etc/nginx/nginx.conf
/etc/nginx/conf.d
/etc/nginx/conf.d/default.conf
CGI配置相关 fastcgi | 配置文件
/etc/nginx/fastcgi_params
/etc/nginx/scgi_params
/etc/nginx/uwsgi_params
编码转换映射转化文件 | 配置文件
/etc/nginx/koi-utf
/etc/nginx/koi-win
/etc/nginx/win-utf
设置HTTP协议的Content-Type与扩展名对应关系:返回数据的类型 | 配置文件
/etc/nginx/mime.types
Nginx功能模块说明
Core
ngx_http_core_module 主要负责Nginx全局应用,针对主配置文件Main区块和Events区块
ngx_http_access_module 访问控制模块,用来控制网站用户对Nginx的访问
ngx_http_gzip_module 压缩模块,对Nginx返回的数据压缩,属于性能优化模块
ngx_http_fastcgi_module FastCGI模块,和动态应用相关的模块,例如php
ngx_http_proxy_module proxy代理模块
ngx_http_upstream_module 负载均衡模块,可实现网站的负载均衡功能及节点的健康检查
ngx_http_rewrite_module URL地址重写模块
ngx_http_limit_conn_module 限制用户并发连接数及请求模块
ngx_http_limit_req_module 根据定义的key限制Nginx请求过程的速率
ngx_http_log_module 访问日志模块,以指定的格式记录Nginx客户访问日志等信息
ngx_http_auth_basic_module Web认证模块,设置Web用户,通过账户,密码访问Nginx
ngx_http_ssl_module SSL模块,用于加密的HTTP连接,如:HTTPS
ngx_http_stub_status_module 记录Nginx基本访问状态信息等的模块
配置Nginx代理HTTP请求到Apache Tomcat
安装Nginx
sudo apt-get install nginx
whereis nginx # 查看Nginx相关文件目录
修改默认主页
sudo nano /etc/nginx/sites-available/default
# root /var/www/html;
root /home/jame/www;
【重启/启动/关闭】
sudo service nginx start #启动
sudo /usr/local/nginx/nginx #启动
sudo service nginx restart #重启
sudo nginx quit #关闭,从容关闭
查看Nginx开启的进程
ps -ef | grep nginx
重定向
Nginx教程[归档]的更多相关文章
- Nginx教程(四) Location配置与ReWrite语法
Nginx教程(四) Location配置与ReWrite语法 1 Location语法规则 1.1 Location规则 语法规则: location [=|~|~*|^~] /uri/ {- } ...
- Nginx教程(三) Nginx日志管理
Nginx教程(三) Nginx日志管理 1 日志管理 1.1 Nginx日志描述 通过访问日志,你可以得到用户地域来源.跳转来源.使用终端.某个URL访问量等相关信息:通过错误日志,你可以得到系统某 ...
- Nginx教程(二) Nginx虚拟主机配置
Nginx教程(二) Nginx虚拟主机配置 1 虚拟主机管理 1.1 Nginx管理虚拟主机 虚拟主机使用的是特殊的软硬件技术,它把一台运行在因特网上的服务器主机分成一台台“虚拟”的主机,每台虚拟主 ...
- Nginx教程(一) Nginx入门教程
Nginx教程(一) Nginx入门教程 1 Nginx入门教程 Nginx是一款轻量级的Web服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行.由 ...
- Nginx 教程(1):基本概念
简介 嗨!分享就是关心!所以,我们愿意再跟你分享一点点知识.我们准备了这个划分为三节的<Nginx教程>.如果你对 Nginx 已经有所了解,或者你希望了解更多,这个教程将会对你非常有帮助 ...
- Nginx教程
Nginx教程 1.背景 介绍 Nginx是一个高性能的HTTP服务器,以及反向代理服务器 组成 Ngnix有内核和模块组成.微结构的内核根据配置文件将一个请求映射到一个location块中,该loc ...
- nginx教程从入门到精通
[转]nginx教程从入门到精通 nginx教程写了一段时间,无意中发现,nginx相关文章已经达到了近100篇了.觉得很有必要汇总到一起,它是我们运维生存时间的一片心血,他是学习nginx的同学必看 ...
- Nginx教程收集
学习要系统,最推荐的方式是看书. 下面是收集的一些Nginx教程: https://www.gitbook.com/book/yinsigan/nginx/details http://www.ngi ...
- agentzh 的 Nginx 教程(版本 2019.07.31)
agentzh 的 Nginx 教程(版本 2019.07.31) agentzh 的 Nginx 教程(版本 2019.07.31) https://openresty.org/download/a ...
随机推荐
- ProjectEuler215 Crack-free Walls
易知状态不会太多(\(3329\)个),直接搜一下,按照能不能连在后面建边,跑一遍dp即可 #include <bits/stdc++.h> using namespace std; st ...
- [唐胡璐]Selenium技巧- IEDriverServer在进程中没有关闭?
有时候跑完脚本后,IEDriverServer.exe进程没杀掉。 解决方法: 在关闭driver时用Driver.Quit();不要用Driver.Close();Driver.Quit() Qui ...
- Vue公共结果页面实现
需求 我希望写一个公共结果页面,满足所有模块的结果展示,页面设计要素如下: 结果图标type(成功图标,失败图标) 标题title(如:提交成功) 描述descripton(如:您的工单已提交,请等待 ...
- [ML] The Basics: Training Your First Model
The problem we will solve is to convert from Celsius to Fahrenheit, where the approximate formula is ...
- JS数组的交集、并集、差集,数组去重,获取两个数组重复的元素,去除两个数组相同的元素
let arr1=[1,2,3,4,5,6] let arr2=[4,5,6,7,8,9] // 并集 数组去重 let RemoveSame=[...new Set([...arr1,...arr2 ...
- (七)对话框,单选框(radiobox),复选框(checkbox),列表框(ListBox),组合框(CComboBox),水平滚动条(Horizontal scroll bar),微调(旋转)spincontrol,列表视图控件CListCtrl,静态控件static
1,模态对话框和非模态对话框 // 模态对话框 void CMainFrame::OnDialogExec() { // TODO: 在此添加命令处理程序代码 // 创建对话框对象 CDialog d ...
- bbs--点赞
bbs---点赞 需求分析 页面展示 1 点赞 和 踩灭 按钮展示 1 用户未登录,不处理点赞踩灭,给用户提供登录接口 2 登录 1 第一次点点赞/踩灭 1 点赞成功 数据+1 提示点赞成功 ...
- 我理解的windows中断管理
只谈外部中断的windows内核管理,异常和trap不在此文的讨论之列. 1. windows中断总貌 在windows中,物理上的中断源被抽象为KINTERRUPT结构.一个中断源在windows中 ...
- premiere pro 2019 mac 破解
链接:https://pan.baidu.com/s/14p1qj6pI1F3SP1SG4TUFHA 密码:seug
- 解决vue中使用laydate.js选择日期后再修改其他model时日期会被清空问题
首先描述一下问题,下图中均绑定v-model,例如先选择出生开始时间,然后当再选择地区或其他选项时该时间就会被清空 首先看一下我这边开始的默认值,开始我设置都为空 当我选择如下图的生日开始时间与结束时 ...