文章目录
Nginx服务基础功能搭建实验
前言
本文重点在于前面的原理理解和后面的Nginx服务的标准搭建步骤,前面会介绍Nginx服务的基本概念,如有偏差处,欢迎大家指正,谢谢。
基本理论说明
服务概述
Nginx是一款自由的、开源的、高性能的HTTP服务器和反向代理服务器。可以作为一个HTTP服务器进行网站的发布处理,同时也可以作为反向代理进行负载均衡的实现。其主要特点有:
- 占有内存少,并发能力强。
- Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接。
- 高度的模块化和自由软件许可证使得第三方模块非常丰富。
- Nginx是一个跨平台服务器,可以运行在Linux,Windows,FreeBSD,Solaris,AIX,Mac OS等操作系统上。
工作原理
Nginx 在启动后,会有一个 master 进程和多个相互独立的 worker 进程接收来自外界的信号,向各worker进程发送信号,每个进程都有可能来处理这个连接。
master 进程能监控 worker 进程的运行状态,当 worker 进程退出后(异常情况下),会自动启动新的 worker 进程。
- master进程
主要用来管理worker进程,包含:接收来自外界的信号,向各worker进程发送信号,监控worker进程的运行状态,当worker进程退出后(异常情况下),会自动重新启动新的worker进程。
- worke进程
worker进程则是处理基本的网络事件。多个worker进程之间是对等的,他们同等竞争来自客户端的请求,各进程互相之间是独立的。一个请求,只可能在一个worker进程中处理,一个worker进程,不可能处理其它进程的请求。
工作模式
Nginx 是一个高性能的 Web 服务器,能够同时处理大量的并发请求。它结合多进程机制和异步非阻塞机制 。
多进程机制:服务器每当收到一个客户端请求时,就有服务器主进程 (master process)生成一个子进程(worker process)和客户端建立连接进行交互,直到连接断开,该子进程就结束了。
异步非阻塞机制:每个工作进程使用异步非阻塞方式,可以处理多个客户端请求 。当某个工作进程接收到客户端请求以后,调用 IO 进行处理,如果不能立即得到结果,就去处理其他请求(即为非阻塞 )。而客户端在此期间也无需等待响应,可以进行其他任务(即为 异步 )。当IO返回时,就会通知此工作进程。该进程得到通知,暂时挂起当前处理的事务去响应客户端请求。
与Apache的差异
Apache | Nginx |
---|---|
配置繁琐 | 配置相对简单 |
原生支持动态和静态页面 | 支持静态页面 |
模块相对安全 | 高性能模块出产迅速、社区活跃 |
BUG 相对较少,消耗资源较多 | BUG相对较多,节省资源 |
对加密支持较好 | 对反向代理支持较好 |
同步阻塞型应用 | 异步非阻塞型应用 |
实验步骤
实验目的:掌握Nginx服务的基本搭建以及常规设置。
实验准备:C6标准虚拟机三台。(selinux与防火墙已关闭)
ps:标准虚拟机安装见网络阶段Centos6安装指南
实验规划:10.0.0.140(Nginx服务端)
10.0.0.150 (访问测试机1)
10.0.0.160 (访问测试机2)
10.0.0.170 (访问测试机3)
一、Nginx源码安装
1.依赖安装
yum -y install gcc gcc-c++ lrzsz zlib zlib-devel pcre pcre-devel
2.准备安装包
准备一个支持httpd2.0的openssl安装包
Nginx选择1.13.8版本
3.解压安装
解压安装包
tar -zxvf nginx-1.13.8.tar.gz
tar -zxvf openssl-1.0.2h.tar.gz
创建Nginx运行用户,开始编译安装。
useradd -s /sbin/nologin -M nginx
cd nginx-1.13.8/
./configure --user=nginx --group=nginx --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module --with-http_v2_module --with-openssl=/root/openssl-1.0.2h --with-stream
make && make install
4.访问测试
检查配置文件
/usr/local/nginx/sbin/nginx -t
启动服务
/usr/local//nginx/sbin/nginx
浏览访问测试
http://10.0.0.140/
Nginx成功开启。
以下实验环境推荐使用LNMP环境,详情见