一、nginx概念
Nginx(发音为"engine-x")是一个高性能开源的web服务器,同时也充当反向代理服务器,负载均衡 和http缓存 等功能。
反向代理和正向代理
1.1 核心特性
-
高性能事件驱动架构:采用异步非阻塞I/O模型
-
高并发处理:单服务器可支持数万并发连接
-
低内存消耗:相比传统服务器更节省资源
-
模块化设计:丰富的模块生态系统
-
热部署:支持不中断服务的情况下更新配置和二进制文件
1.2 代理模式对比
正向代理(Forward Proxy)
客户端 → 正向代理服务器 → 互联网
↑ ↓
(配置代理) (代表客户端请求)
特点:
-
客户端主动配置
-
代理客户端发起请求
-
客户端知道代理的存在
-
目标服务器不知道真实客户端
应用场景:
-
企业网络管控
-
访问受限资源(科学上网)
-
客户端匿名访问
-
内容过滤和审计
反向代理(Reverse Proxy)
客户端 → 反向代理服务器 → 后端服务器集群
↑ ↓
(以为这是真实服务器)(隐藏真实服务器)
特点:
-
服务端部署,客户端无需配置
-
代理后端服务器接收请求
-
客户端不知道后端服务器的存在
-
提升安全性和可扩展性
应用场景:
-
负载均衡
-
应用防火墙
-
SSL终端和加密
-
内容压缩和缓存
-
A/B测试和金丝雀发布

二、nginx安装
1.使用yum安装
bash
#使用yum命令安装
yum -y install https://nginx.org/packages/centos/7/x86_64/RPMS/nginx
1.18.0-2.el7.ngx.x86_64.rpm
#检查是否安装成功
rpm -qa|grep nginx
#启动
systemctl start nginx
#设置开机自启
systemctl enable nginx
#停止
systemctl stop nginx
#卸载
yum -y remove nginx-1.18.0-2.el7.ngx.x86_64
2.使用源码包安装
下载解压
bash
#1.创建一个文件夹,存放安装的nginx文件
mkdir /usr/local/nginx
#安装nginx依赖包
yum -y install gcc gcc-c++ pcre pcre-devel zlib zlib-devel openssl openssl-devel
#下载并解压nginx源码包
#创建文件夹存放安装包
mkdir /opt/soft/nginx -p
cd /opt/soft/nginx
#2.下载安装包
wget https://nginx.org/download/nginx-1.18.0.tar.gz
#解压源码包
tar -zxvf nginx-1.18.0.tar.gz
#切换到解压后的包中
cd nginx-1.18.0
配置编译并安装
bash
./configure --user=root --group=root --prefix=/usr/local/nginx \ --with-http_ssl_module \ --with-http_v2_module \ --with-http_stub_status_module \ --with-http_gzip_static_module \ --with-http_sub_module --with-stream \ --with-stream_ssl_module \ --with-openssl-opt=enable-weak-ssl-ciphers
#执行编译
make
#安装
make install

启动
bash
#切换到启动文件目录
cd /usr/local/nginx/sbin
#启动
./nginx
#或者使用绝对路径进行启动
/usr/local/nginx/sbin/nginx
#重启nginx
/usr/local/nginx/sbin/nginx -s reload
#停止
/usr/local/nginx/sbin/nginx -s stop
#启动并设置开机自启
systemctl enable nginx
systemctl start nginx