目录
前言
Nginx是一款开源的高性能HTTP和反向代理服务器软件。它被广泛应用于构建可扩展的Web应用和服务。Nginx以其轻量级、高并发能力和低资源消耗而闻名,可以处理大量的并发请求,并具有良好的负载均衡和反向代理功能。除了作为HTTP服务器和反向代理服务器,Nginx还可以用作邮件代理服务器和通用的TCP/UDP代理服务器。它在互联网领域被广泛使用,包括大型网站、应用程序、CDN(内容分发网络)、反向代理等多种场景。
一、nginx概述
一、功能
HTTP服务器:Nginx可以充当HTTP服务器,为Web应用程序提供静态内容的快速和高效的传输。它支持静态文件服务、虚拟主机配置、访问控制和重定向等功能。
反向代理:Nginx可作为反向代理服务器,接收客户端请求并将其转发给后端服务器。通过负载均衡算法,Nginx可以将请求分发给多个后端服务器,提高系统的性能和可靠性。
负载均衡:作为负载均衡器,Nginx可以将流量平均地分发到多个服务器上,实现请求的平衡分配,提高系统的吞吐量和处理能力。
动态请求代理:Nginx对动态请求(如PHP脚本)也具有良好的支持。它可以与后端的应用服务器(如FastCGI、uWSGI、SCGI)进行通信,并在处理动态请求时提供高性能和稳定性。
SSL/TLS加密支持:Nginx可以配置和管理SSL/TLS证书,实现HTTPS协议的安全传输。这使得网站可以通过使用安全连接来保护用户的隐私和数据安全。
URL重写和重定向:Nginx提供了灵活和强大的URL重写和重定向功能,可以对URL进行修改和重写,实现友好的网址结构和搜索引擎优化。
缓存支持:Nginx内置的缓存机制可以缓存静态和动态内容,减少后端服务器的负载并提升响应速度。
高可扩展性:由于其轻量级的设计和事件驱动的架构,Nginx能够处理大量的并发请求,并具有良好的扩展性和稳定性。
二、网站模型
epoll
Nginx使用事件驱动的方式来处理并发请求。它利用操作系统的异步I/O机制,如epoll(在Linux系统上)或select(在Windows系统上),监听并处理网络事件。这种非阻塞的、事件驱动的方式使得Nginx能够高效地处理大量并发请求。
三、优势
高性能:Nginx采用了异步、事件驱动的处理机制,能够高效地处理大量并发连接和请求。它的处理效率较高,响应速度快,能够有效地利用系统资源,适应高负载的场景。
可靠稳定:Nginx经过了长时间的实践验证,被广泛应用于高流量的网站和服务器环境中。它的多进程架构和独立的Worker进程使得一个进程的崩溃不会影响其他进程的正常运行,提高了系统的可靠性和容错能力。
轻量级:相比其他传统的Web服务器软件,如Apache,Nginx的设计更加精简轻量。它占用的内存资源较少,启动速度快,并且对硬件资源的需求较低,可以在较低配置的服务器上运行。
高并发支持:Nginx采用了基于事件驱动的模型,能够处理大量的并发连接和请求。它支持多种负载均衡算法,并且可以通过水平扩展来增加服务器的处理能力,适应高并发访问的需求。
灵活的配置:Nginx的配置文件语法简洁明了,易于理解和修改。它提供了丰富的配置选项,可以灵活地进行URL重写、反向代理、缓存和访问控制等操作。
反向代理和负载均衡:Nginx作为反向代理服务器,能够将客户端请求转发到后端的多个服务器上,并实现负载均衡。这样可以提高系统的可扩展性和稳定性,分摊请求压力,避免单点故障。
SSL/TLS加密支持:Nginx内置了对SSL/TLS的支持,可以配置和管理证书,实现HTTPS协议的安全传输,保护用户隐私和数据安全。
四、监听端口
Listen 80
二、安装
一、基础环境配置
关闭防火墙和selinux
关闭图形化管理工具
systemctl restart NetworkManage
设置网络类型 NAT模式
配置epoll源
mkdir back
cp Centos-* /back/(备份)
vim nginx-stable.repo
二、安装nginx
yum list |grep nginx(查看可安装列表)
yum install -y nginx-1.20.0 (安装指定软件版本)
三、目录结构
/etc/nginx/ Nginx安装主目录
/usr/bin/ Nginx更新命令
/usr/sbin/ Nginx启动命令
/usr/share/nginx/ 网页文档根目录
/var/lib/nginx 缓存和临时文件
/var/log/nginx/ 日志文件
四、命令
nginx -c nginx启动时指定配置文件位置
-t 测试配置文件并返回信息
-s stop 停止服务
reload 不停止服务,平滑加载配置文件
五、主配置文件
vim /etc/nginx/nginx.conf
运行用户
进程数量
错误日志
进程号
定义每个工作进程的最大连接数 1024/2
http
log_format 引用其他文件到当前文件
access_log 日志格式配置
include /etc/nginx/mime.types 支持的文件解析类型
sever
listen on 监听端口
location 指定访问的路径及默认文档
六、配置
一、单网页配置文件
systemctl start nginx
客户端使用网络访问测试
二、多网页配置文件
vim /etc/nginx/nginx.conf
注释掉access_log
cd /etc/nginx/conf.d/
cp -p default.conf lhsb1.conf
cp -p default.conf lhsb2.conf
修改主机名
客户端访问测试