Nginx详解以及LNMP的搭建

2017-11-14 19:28:27 1902

.nginx 介绍
image.png 1.1特性
模块化设计,较好的扩展性

高可靠性

支持热部署:不停机更新配置文件,升级版本,更换日志文件

低内存消耗:10000 keep-alive 连接模式下的非活动连接,仅需要2.5M 内存

event-driven,aio,mmapsendfile

基本功能:

静态资源的web 服务器

http 协议反向代理服务器,负载均衡

pop3/imap4 协议反向代理服务器

FastCGI(lnmp),uWSGI(python) 等协议

模块化(非DSO ),如zip SSL模块

web 服务相关的功能:

虚拟主机(server

支持 keep-alive  和管道连接

访问日志(支持基于日志缓冲提高其性能)

url rewirte

路径别名

基于IP 及用户的访问控制

支持速率限制及并发数限制

重新配置和在线升级而无须中断客户的工作进程

Memcached GET  接口
1.2 nginx 架构

image.png

nginx 的程序架构

master/worker 结构

一个master 进程:

负载加载和分析配置文件、管理worker 进程、平滑升级

 一个或多个worker 进程

处理并响应用户请求

缓存相关的进程:

cache loader :载入缓存对象

cache manager:管理缓存对象

1.3 nginx 高度模块化

但其模块早期不支持DSO 机制;1.9.11版本支持动态装载和卸载

模块分类:

核心模块:core module

标准模块:

HTTP 模块: ngx_http_*

HTTP Core modules 默认功能

HTTP Optional modules  需编译时指定

Mail  模块 ngx_mail_*

Stream 模块 ngx_stream_*

第三方模块

1.4 nginx 的功用

静态的web 资源服务器

html,图片,js css txt 等静态资源

结合FastCGI/uWSGI/SCGI 等协议反向代理动态资源请求

http/https 协议的反向代理

imap4/pop3 协议的反向代理

tcp/udp 协议的请求转发(反向代理)

二、nginx 目录结构和命令

2.1 nginx 命令

ls /usr/local/nginx/

html 是测试页,sbin 是主程序

ls /usr/local/nginx/sbin/

nginx  只有一个程序文件

ls /usr/local/nginx/html/

50x.html index.html  测试网页

Nginx :默认为启动nginx

-h  查看帮助选项

-V  查看版本和配置选项

-t  测试nginx 语法错误

-c filename  指定配置文件(default: /etc/nginx/nginx.conf)

-s signal  发送信号给master 进程,signal 可为:

stop, quit,reopen, reload  示例:-s stop  停止nginx -s reload  加载配置文件

注意:不要和systemctl 混合使用

-g directives  在命令行中指明全局指令

2.2 配置文件的组成部分:

主配置文件:nginx.conf

子配置文件 include conf.d/*.conf

fastcgiuwsgi scgi 等协议相关的配置文件

mime.types :支持的mime 类型

主配置文件的配置指令:

directive value [value2 ...];

注意:

(1)  指令必须以分号结尾

(2)  支持使用配置变量

内建变量:由Nginx 模块引入,可直接引用

自定义变量:由用户使用set 命令定义

set variable_name value;

引用变量:$variable_name


提交成功!非常感谢您的反馈,我们会继续努力做到更好!

这条文档是否有帮助解决问题?

非常抱歉未能帮助到您。为了给您提供更好的服务,我们很需要您进一步的反馈信息:

在文档使用中是否遇到以下问题: