文章插图
引言Nginx
- 安装安装依赖
- 下载
- 编译安装编译时将 ssl 模块静态编译
- nginx 服务架构模块化结构模块化开发
- nginx 的模块化结构
- nginx 的模块清单
- nginx 的 web 请求处理机制
- nginx 配置文件实例
- nginx 服务器基础配置指令nginx.conf 文件的结构
- nginx 运行相关的 Global 部分配置运行 nginx 服务器用户
- 配置允许生成的 worker process 数
- 配置 nginx 进程 PID 存放路径
- 配置错误日志的存放路径
- 配置文件的引入
- 与用户的网络连接相关的 events设置网络连接的序列化
- 设置是否允许同时接收多个网络连接
- 事件驱动模型的选择
- 配置最大连接数
- httphttp Global 代理 - 缓存 - 日志 - 第三方模块配置定义 MIME-Type
- 自定义服务日志
- 配置允许 sendfile 方式传输文件
- 配置连接超时时间
- 单连接请求数上限
- server配置网络监听
- 基于名称的虚拟主机配置
- 配置 https 证书
- 基于 IP 的虚拟主机配置
- 配置 location 块
- [root] 配置请求的根目录
- [alias] 更改 location 的 URI
- 设置网站的默认首页
- 设置网站的错误页面
- 基于 IP 配置 nginx 的访问权限
- 基于密码配置 nginx 的访问权限
- 应用架设简单文件服务器
- nginx 正向代理
- nginx 服务器基础配置实例测试 myServer1 的访问
- 测试 myServer2 的访问
- 使用缓存
- 使用 location 反向代理到已有网站
- 其他ngx_http_sub_module 替换响应中内容
- 配置 http 强制跳转 https
安装 nginx 之前 , 确保系统已经安装 gcc、openssl-devel、pcre-devel 和 zlib-devel 软件库
- gcc 可以通过光盘直接选择安装
- openssl-devel、zlib-devel 可以通过光盘直接选择安装 , https 时使用
- pcre-devel 安装 pcre 库是为了使 nginx 支持 HTTP Rewrite 模块
nginx 下载
编译安装
通过上面的下载页下载最新的稳定版
#wget http://nginx.org/download/nginx-1.8.0.tar.gz#tar xzvf nginx-1.8.0.tar.gz#cd nginx-1.8.0#./configure --prefix=/opt/X_nginx/nginx --with-http_ssl_module#make && sudo make install复制代码
- --prefix=/opt/X_nginx/nginx 安装目录
- --with-http_ssl_module 添加 https 支持
./configure --prefix=/opt/X_nginx/nginx--with-openssl=../openssl-1.0.2l--with-zlib=../zlib-1.2.11--with-pcre=../pcre-8.41--with-http_ssl_module复制代码nginx 服务架构模块化结构
nginx 服务器的开发完全遵循模块化设计思想模块化开发
- 单一职责原则 , 一个模块只负责一个功能
- 将程序分解 , 自顶向下 , 逐步求精
- 高内聚 , 低耦合
- 核心模块:nginx 最基本最核心的服务 , 如进程管理、权限控制、日志记录;
- 标准 HTTP 模块:nginx 服务器的标准 HTTP 功能;
- 可选 HTTP 模块:处理特殊的 HTTP 请求
- 邮件服务模块:邮件服务
- 第三方模块:作为扩展 , 完成特殊功能
- 核心模块
- ngx_core
- ngx_errlog
- ngx_conf
- ngx_events
- ngx_event_core
- ngx_epll
- ngx_regex
- 标准 HTTP 模块
- ngx_http
- ngx_http_core #配置端口 , URI 分析 , 服务器相应错误处理 , 别名控制 (alias) 等
- ngx_http_log #自定义 access 日志
- ngx_http_upstream #定义一组服务器 , 可以接受来自 proxy, Fastcgi,Memcache 的重定向;主要用作负载均衡
- ngx_http_static
- ngx_http_autoindex #自动生成目录列表
- ngx_http_index #处理以/结尾的请求 , 如果没有找到 index 页 , 则看是否开启了random_index;如开启 , 则用之 , 否则用 autoindex
- ngx_http_auth_basic #基于 http 的身份认证 (auth_basic)
- ngx_http_access #基于 IP 地址的访问控制 (deny,allow)
- ngx_http_limit_conn #限制来自客户端的连接的响应和处理速率
- ngx_http_limit_req #限制来自客户端的请求的响应和处理速率
- ngx_http_geo
- ngx_http_map #创建任意的键值对变量
- ngx_http_split_clients
- ngx_http_referer #过滤 HTTP 头中 Referer 为空的对象
推荐阅读
- 从 IPv4 到 IPv6 过渡,无法错过这些知识点
- 酸奶|男士发型怎么剪?不能少了这六种,简直太帅了
- 老年人不能长期喝这种中药茶
- 情绪特别不稳定 为什么这段时间情绪不稳定
- 开自动挡车有“四不准”,经常这么做的,肯定没少往修理厂跑
- 眼角冒出“眼纹”要注意,避开这三点,慢慢消失
- 女人不管有没有钱,做好这3点,会比同龄人更有气质
- 你还不知道“上长下短”的搭配方式吗?这个夏天这样穿美呆了
- 女性做好这5点,没人敢小瞧
- 男生喜欢女生怎么穿?斩男风的穿搭法则在这里,照着穿准没错