Nginx 基础篇之快速上手【一】
1. nginx 简介
Nginx 是一个高性能的 HTTP 和反向代理服务器,特点是占有内存少,并发能力强,事实上 nginx 的并发能力确实在同类型的网页服务器中表现较好。
Nginx 专为性能优化而开发,性能是其最重要的考量,事实上非常注重效率,能经受高负载的考验,由报告表明能支持高达 5w 个并发连接数。
2. 正向代理
- 在客户端(浏览器)配置代理服务器,通过代理服务器进行互联网访问。
3. 反向代理
- 我们只需要将请求发送到反向代理服务器,由反向代理服务器去选择目录服务器获取数据后,在返回给客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址。
4. 负载均衡
- 单个服务器解决不了,我们增加服务器的数量,然后将请求分发到各个服务器上,将原先请求集中到单个服务器上的情况改为将请求分发到多个服务器上,将负载分发到不同的服务器,也就是我们所说的负载均衡。
5. 动静分离
- 为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力。
6. Docker 安装 nginx
6.1 直接拉取 nginx
// 这种拉取的是最新版本的 nginx
docker pull nginx
6.2 查询本地镜像是否拉取成功
docker images
6.3 以守护进程方式运行 nginx
docker run --name nginx -p 80:80 -d nginx
启动成功后,然后通过访问80端口即可
7. nginx 常用命令
7.1 使用 nginx 命令的前提条件
必须进入 nginx 的目录
/url/local/nginx/sbin
7.2 查看 nginx 的版本号
./nginx -v
7.3 启动 nginx
./nginx
7.4 关闭 nginx
./nginx -s stop
7.5 重新加载 nginx
./nginx -s reload
8. nginx 的配置文件
8.1 nginx 配置文件位置
- 由于我们使用的是 docker 安装的 nginx
- 首先我们要进入 docker 中的 nginx 容器里
docker exec -it 正在运行的nginx容器ID /bin/bash
- 然后进入 /etc/nginx 中就可以看到 nginx.conf 配置文件了
8.2 nginx 配置文件组成
- nginx 配置文件由三部分组成
1. 全局块
- 从配置文件开始到 events 块之间的内容,主要会设置一些影响 nginx 服务器整体运行的配置指令,主要包括配置运行 nginx 服务器的用户(组)、允许生成的 worker process 数,进程 PID 存放路径、日志存放路径和类型以及配置文件的引入等。
worker_processes 1;
这是 nginx 服务器并发处理服务的关键配置,worker_processes 值越大,可以支持的并发处理量也就越多,但是会受到硬件、软件等设备的制约
2. events 块
- events 块涉及的指令主要影响 nginx 服务器与用户的网络连接,常用的设置包括是否开启对多 work process 下的网络连接进行序列化,是否运行同时接收多个网络连接,选取哪种事件驱动模型来处理连接请求,每个 word process 可以同时支持的最大连接数等。
worker_connections 1024;
这个就表示每个 wokr process 支持的最大连接数为 1024
这部分的配置对 nginx 的性能影响较大,在实际中应该灵活配置。
3. http 块
- 这算是 nginx 服务器配置中最频繁的部分,代理、缓存和日志定义等绝大多数功能和第三方模块的配置都在这里。
- 需要注意的是:http 块也可以包括 http 全局块、server 块
9. nginx 实例——反向代理
1. 准备工作
- 首先在Docker 中安装 tomcat和nginx
然后分别启动它们
// 启动 tomcat
docker run --name tomcat -p 8080:8080 -d tomcat
// 启动 nginx
docker run --name nginx -p 80:80 -d nginx
2. 访问过程的分析
3. 具体配置
- 在 windows 系统的 host 文件进行域名和 Ip 对应关系的配置
- 添加内容到文件中
// 前面的ip地址对应的是你自己的 Linux 系统的Ip
// 如果不知道自己的可以 ifconfig 命令来查看自己的 IP 地址
192.168.253.128 www.123.com
- 在 nginx 进行请求转发的配置(反向代理配置)
- 最后直接测试就可以了
浏览器直接访问 www.123.com 即可代理到 tomcat