Nginx
一、Nginx 基础
1. 介绍与安装
1.1 安装
1.1.1 Nginx
- Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了 IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的 Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004 年10月4日。 其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配 置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。 Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3) 代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实 上nginx的并发能力在同类型的网页服务器中表现较好,中国大陆使用nginx网站 用户有:百度、京东、新浪、网易、腾讯、淘宝等。
1.1.2 虚拟机安装
1.1.3 电脑配置
- 内存:建议8G以上
- 磁盘:建议使用SSD
- CPU:4核以上主流即可
1.1.4 虚拟机安装与配置
- 准备:
- Vmware、Virtualbox、Parallels
- CentOS7.4镜像
- 安装与配置操作系统:
1.1.5 虚拟机不能上网简单排错
- Vmware中网关是否正确
- 直接ping ip是否能通(物理连接排查)
- 使用版本一样的软件
- 卸载重装最快
1.1.6 常用版本分为四大阵营
- Nginx开源版
- Nginx plus 商业版
- Openresty
- Tengine
- http://tengine.taobao.org/
1.1.7 Nginx开源版安装
- 下载
- 编译安装与依赖检查
- Nginx启停
- 关闭防火墙
- 安装成系统服务
- (详见Nginx安装文档)
1.1.8 目录结构与基本运行原理
- 目录
- 更改默认页
- 基本运行原理
1.1.9 Nginx基础配置
- 最小配置文件
- 核心配置
- 虚拟主机配置
- worker_processes
- worker_processes 1; 默认为1,表示开启一个业务进程
- worker_connections
- worker_connections 1024; 单个业务进程可接受连接数
- include mime.types;
- include mime.types; 引入http mime类型
- default_type application/octet-stream;
- default_type application/octet-stream; 如果mime类型没匹配上,默认使用二进制流的方式传输。
- sendfile on;
- sendfile on; 使用linux的 sendfile(socket, file, len) 高效网络传输,也就是数据0拷贝。
- 未开启sendfile
- 开启后
- server
server {
listen 80; 监听端口号
server_name localhost; 主机名
location / { 匹配路径
root html; 文件根目录
index index.html index.htm; 默认页名称
}
error_page 500 502 503 504 /50x.html; 报错编码对应页面
location = /50x.html {
root html;
}
}
1.1.10 虚拟主机与域名解析
- 域名、dns、ip地址的关系
- 浏览器、Nginx与http协议
- 虚拟主机原理
- 域名解析与泛域名解析实战
- 域名解析相关企业项目实战技术架构
- Nginx中的虚拟主机配置
1.1.11 虚拟主机
-
原本一台服务器只能对应一个站点,通过虚拟主机技术可以虚拟化成多个站点同时对外提供服务 -
servername匹配规则
- 我们需要注意的是servername匹配分先后顺序,写在前面的匹配上就不会继续往下匹配了。
- 完整匹配
server_name vod.mmban.com www1.mmban.com;
server_name *.mmban.com
server_name vod.*;
server_name ~^[0-9]+\.mmban\.com$;
1.1.12 反向代理
- 网关、代理与反向代理
- 反向代理在系统架构中的应用场景
- Nginx的反向代理配置
- 基于反向代理的负载均衡器
- 负载均衡策略
|