Nginx详解以及LNMP的搭建

时间:2023-02-04 04:40:34

Nginx详解以及LNMP的搭建

一、 nginx 介绍

Nginx详解以及LNMP的搭建

1.1 特性:

模块化设计,较好的扩展性

高可靠性

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

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

event-driven,aio,mmap,sendfile

基本功能:

静态资源的web 服务器

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

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

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

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

web 服务相关的功能:

虚拟主机( server )

支持 keep-alive  和管道连接

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

url rewirte

路径别名

基于IP 及用户的访问控制

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

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

Memcached 的GET  接口

1.2 nginx 架构

Nginx详解以及LNMP的搭建

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 语法错误

-cfilename  指定配置文件 (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

fastcgi,uwsgi ,scgi 等协议相关的配置文件

mime.types :支持的mime 类型

主配置文件的配置指令:

directive value [value2 ...];

注意:

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

(2)  支持使用配置变量

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

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

set variable_name value;

引用变量:$variable_name

Nginx详解以及LNMP的搭建