Nginx配置一套打通:基本概念、命令、反向代理、负载均衡、动静分离、高可用

本文详细介绍了Nginx的基本概念、安装步骤、常用命令及配置文件,包括反向代理、负载均衡、动静分离和高可用集群的配置。通过实例演示了如何设置反向代理实现流量分发,以及如何通过负载均衡策略优化服务器性能。同时,讨论了Nginx的location指令用法,并阐述了动静分离在提升网站速度方面的作用。最后,讲解了如何构建Nginx的高可用集群,确保服务的稳定性和可靠性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

参考:
尚硅谷教程:这里
博客1:这里
博客2:这里


一、基本概念

1.什么是Nginx

Nginx是一个高性能的HTTP和反向代理服务器,也是一个IMAP/POP3/SMTP代理server。其特点是占有内存少。并发能力强,其并发能力确实在同类型的网页server中表现较好。

  • http服务器

Web服务器是指驻留于因特网上某种类型计算机的程序。当Web浏览器(客户端)连到服务器上并请求文件时,服务器将处理该请求并将文件反馈到该浏览器上,附带的信息会告诉浏览器如何查看该文件(即文件类型)。服务器使用HTTP(超文本传输协议)与客户机浏览器进行信息交流,这就是人们常把它们称为HTTP服务器的原因。

  • 代理服务器

通常是指局域网内部的机器通过代理服务器发送请求到互联网上的服务器,代理服务器一般作用在客户端。

  • 反向代理

客户端向反向代理的命名空间中的内容发送普通请求,接着反向代理将推断向何处(原始服务器)转交请求,并将获得的内容返回给客户端。

在这里插入图片描述

  • 正向代理

正向代理是一个位于客户端和原始服务器之间的代理服务器,为了从原始服务器取得内容,客户端向代理服务器发送一个请求并指定目标原始服务器。然后代理服务器向原始服务器转交请求并将获得的内容返回给客户端。

  • 反向代理vs正向代理

从安全性来讲,正向代理同意客户端通过它访问随意站点而且隐藏客户端自身,因此你必须採取安全措施以确保仅为经过授权的客户端提供服务。反向代理对外都是透明的,访问者并不知道自己访问的是一个代理。

2.Nginx特点

  • 反向代理:

上面已经说过了。

  • 负载均衡:

当请求过多,单个服务器难以负荷时,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上。

在这里插入图片描述

在这里插入图片描述

  • 动静分离:

为了加快网站的解析速度,可以吧动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力。具体的内容见本博客后面第五章。

二、安装、常用命令、配置文件

首先你得有一个linux操作系统的环境,要么是你自己的服务器,要么是你自己电脑上的虚拟机,要么是你租的云服务器。

1.ubuntu安装步骤

  • 下载:
curl -O http://nginx.org/download/nginx-1.22.1.tar.gz
  • 解压:
tar -xvf nginx-1.22.1.tar.gz
  • 配置:
./configure --prefix=/usr/local/nginx --with-http_gzip_static_module
  • 安装:
make
make install
  • 报错解决参考:

https://blog.csdn.net/weixin_69306012/article/details/126777396

2.centos安装步骤

  • 安装gcc环境,用来将官网下载的源码进行编译:
yum install gcc-c++
  • 安装 pcre 库:
yum install -y pcre pcre-devel
  • 安装zlib 库:
yum install -y zlib zlib-devel
  • 安装安装 OpenSSL 库:
yum install -y openssl openssl-devel
  • 下载nginx包:
wget -c https://nginx.org/download/nginx-1.12.0.tar.gz
  • 解压nginx包:
tar -zxvf nginx-1.12.0.tar.gz
  • 进入nginx文件夹:
cd nginx-1.12.0
  • 使用默认配置:
./configure
  • 编译安装:
make
make install

到此,nginx算是安装好了。

3.常用命令

  • 以下所有命令都必须进入sbin目录以后才能执行:
# 进入nginx目录
cd /usr/local/nginx/sbin/ 
  • 查看版本号:
./nginx -v
  • 启动nginx:
# 启动nginx
./nginx
  • 启动时报错端口占用,解决:
# 杀死80端口的进程
fuser -k 80/tcp

现在再次启动nginx。

  • 关闭nginx:
./nginx -s stop
  • 重新加载配置文件:
./nginx -s reload
  • 访问nginx:
# 在浏览器中访问以下地址
http://服务器ip:80/

在这里插入图片描述

4.配置文件

  • 配置文件所在目录: /usr/local/nginx/conf。

  • 配置文件——全局块:

这部分都是些影响nginx全局配置的指令:

#user  nobody;
worker_processes  1;# 配置nginx并发处理量,但是并发也会受硬件、软件的制约

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;
  • 配置文件——events块:

这部分用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TracyCoder123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值