Nginx安装及使用方式
Posted 踩踩踩从踩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx安装及使用方式相关的知识,希望对你有一定的参考价值。
前言
本篇文章会nginx得相关概念、安装使用、官网文档解析、基于反向代理的负载均衡策略 这几个点去解析Nginx,保证对Nginx有个大的认识。
简介
高并发分流
概述
- 静态资源主要借助于服务器本地文件系统来完成
- 反向代理可以做到 Nginx强大的性能、缓存、负载均衡
- API服务通过集成niginx_lua模块来实现,比如OpenResty就是用niginx和lua集成特性,整合了大量常用的第三方模块 ,以及js脚本
正向代理 反向代理
选择Nginx作为分流负载均衡选择器
- 高并发、高性能
基于NIO非阻塞事件模型处理网络请求, slab内存管理机制。
- 可扩展性好 核心模块 扩展模块 第三方插件,丰富的模块及第三方插件是 nginx生命力顽强的原因。
-
高可靠性 部署后常年稳定运行
-
热部署 无需启动,更新配置文件
安装Nginx
windows安装
nginx: download进入Nginx下载页面;
linux安装
- 检查更新yum依赖
# 检查更新yum依赖
sudo yum install yum-utils
- 添加yum的nginx仓库地址
- 安装nginx,也可以直接使用该命令进行安装
sudo yum install nginx
yum install -y gcc # GCC编译器,用来编译C语言程序
yum install -y gcc-c++ # C++编译器,用来编译C++语言程序
yum install -y pcre pcre-devel # Perl库兼容正则表达式,Nginx的HTTP模块要靠它来解 析正则表达式
yum install -y zlib zlib-devel # zlib库,用于对HTTP包的内容做gzip格式的压缩
yum install -y openssl openssl-devel # OpenSSL开发库,用于Http的SSL协议,需要源码 编译# 统一执行前面的命令
sudo yum install -y gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl- devel
wget https://github.com/openssl/openssl/archive/OpenSSL_1_0_2k.tar.gz # 下载 openssl
tar -xzvf OpenSSL_1_0_2k.tar.gz # 解压openssl
wget https://github.com/openresty/echo-nginx-module/archive/v0.61.tar.gz
tar -xzvf v0.61.tar.gz
在当前默认输入下面命令,就可以看到对应的帮助文档
./configure --help
sudo make
sudo make install
nginx核心
Nginx常规操作
使用 sudo ./nginx -h 查看 配置文件 配置文件等等。
Nginx的配置文件
Nginx有一个非常强大的配置文件,可以配置应用对应的模块指令,类似Perl 语法风格。配置文件指令主 要分为两大块:简单指令、块指令..
- 简单指令
- 块指令
动静分离 静态资源服务
将某些文件 不用放到服务器上去,降低服务器压力
Nginx的配置热更新
nginx如何做到配置文件热更新?
- master检查配置文件的正确性,若是错误则返回错误 信息, nginx继续用原配置文件进行工作
-
nginx启动新的worker进程,采用新的配置文件
- nginx将新的请求分配新的worker进程
- nginx等待以前的worker进程的全部请求已经都返回后, 关闭相关 worker进程
-
重复上面过程,直到全部旧的 worker进程都被关闭掉
master process 和worker process 两种进程。 分别做不同的工作,这里自动启动。全部请求已经都返回后, 关闭相关 worker进程,如果不保证关闭则会出现服务异常的。
官方文档
Nginx模块
核心模块常用指令
核心功能指令
微核心,包含 user use events,这些核心部分。都比较重要的部分,在官方文档中存在着。都是块指令。
http核心指令 要在 其中选择 对应的核心模块进行了解。
Location
这样进行匹配起来,字符类型的。
Location匹配规则
实现高并发分流
单台服务器qps是有限的,提升请求速率;解决办法采用集群的方式。而分布式集群则需要使用到负载均衡。
Nginx负载均衡
负载均衡涉及的模块
nginx负载均衡策略
以上是关于Nginx安装及使用方式的主要内容,如果未能解决你的问题,请参考以下文章
Nginx——Nginx启动报错Job for nginx.service failed because the control process exited with error code(代码片段