Nginx的使用与集群

本文详细介绍了Nginx的基本概念,包括它的轻量级特性、反向代理、负载均衡和动静分离。此外,还阐述了Nginx的安装过程,常用命令,配置文件结构以及如何配置反向代理、负载均衡和实现动静分离。最后,讨论了Nginx的高可用集群配置,涉及到keepalived的安装和配置。
摘要由CSDN通过智能技术生成

nginx

nginx 基本概念

(1)nginx 是什么?能做什么事情

​ Nginx是一款轻量级Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好,能够支持高达 50,000 个并发连接数的响应

(2)反向代理

​ 正向代理:意思是一个位于客户端和原始服务器(origin server)之间的服务器,为了从原始服务器取得内容,客户端向代理发送一个请求并指定目标(原始服务器),然后代理向原始服务器转交请求并将获得的内容返回给客户端。正向代理的典型用途是为在防火墙内的局域网客户端提供访问Internet的途径。正向代理还可以使用缓冲特性(由mod_cache提供)减少网络使用率。

​ 反向代理:反向代理服务器位于用户与目标服务器之间,但是对于用户而言,反向代理服务器就相当于目标服务器,即用户直接访问反向代理服务器就可以获得目标服务器的资源。同时,用户不需要知道目标服务器的地址,也无须在用户端作任何设定。反向代理服务器通常可用来作为Web加速,即使用反向代理作为Web服务器的前置机来降低网络和服务器的负载,提高访问效率。

(3)负载均衡

​ 负载均衡,英文名称为Load Balance,其含义就是指将负载(工作任务)进行平衡、分摊到多个操作单元上进行运行,例如FTP服务器、Web服务器、企业核心应用服务器和其它主要任务服务器等,从而协同完成工作任务。

​ 负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备的带宽、加强网络数据处理能力、增加吞吐量、提高网络的可用性和灵活性。

(4)动静分离

​ 动静分离是指在web服务器架构中,将静态页面与动态页面或者静态内容接口和动态内容接口分开不同系统访问的架构设计方法,进而提升整个服务访问性能和可维护性。

nginx 的安装

nginx官网下载

wget http://nginx.org/download/nginx-1.19.2.tar.gz

需要前置依赖pcre、openssl、zlib

1.安装编译工具及库文件

yum -y install make zlib zlib-devel gcc-c++ libtool  openssl openssl-devel

2.安装pcre
pcre2和pcre版本不一样,使用pcre2编译时,可能会编译失败,这里使用pcre

wget https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz

2.1解压压缩包

tar -zxvf pcre-8.44.tar.gz

2.2编译安装

cd pcre-8.44
./configure
make && make install

2.3检查pcre版本

rpm -qa pcre
# pcre2-config --version

3.安装nginx,默认会把nginx相关文件放在 /usr/local/nginx,默认端口为80,注意开放防火墙

tar -zxvf nginx-1.19.2.tar.gz
cd nginx-1.19.2
./configure
make && make install

nginx常用命令

# 查看nginx版本号
./nginx -v
# nginx 启动
./nginx 
# nginx 停止
./nginx -s quit
# nginx 强制停止
./nginx -s stop
# 重新加载
./nginx -s reload
# 测试配置文件
./nginx -t

nginx 配置文件

默认安装时,配置文件在 /usr/local/nginx/conf/nginx.conf

nginx 配置文件分为三个部分

  • 全局块

    从配置文件到events块之前的内容,主要会设置一些影响nginx服务器整体运行的配置指令

  • events块

    主要涉及的指令影响Nginx服务器与用户网络的链接,常用的设置包括是否开启对多worker_process下的网络连接进行序列化,是否允许同时接收多个网络连接,选取哪种随机事件驱动模型来处理连接请求,每个worker_process 可以同时支持的最大连接数

  • http块

    这是Nginx服务器配置最频繁的部分,代理、缓存、和日志定义等绝大多数功能和第三方模块的配置都在这里。其中内部又包括:

    • http 全局块

      文件引入、MIME-TYPE定义、日志自定义、连接超时时间、单链接请求数上限等。

    • server块

      和虚拟主机有密切关系,虚拟主机从用户角度看,和一台独立的机器主机是完全一样的,该技术的产生是为了节省互联网服务器硬件成本。

      每个http块可以包含多个server块,而每一个server块相当于一个虚拟主机。

      而每个server块也分为全局server块,以及可以包含多个location块

# 配置用户或者组,默认为nobody nobody
#user  nobody;
# 这是nginx服务器并发处理服务的关键配置,worker_process值越大,可以支持的并发处理量也就越多,但是会受到硬件、软件等设备的制约
worker_processes  1; 

# 指定日志路径,级别。这个设置可以放入全局块,http块,server块,级别依次为:debug|info|notice|warn
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值