Nginx 代理 | 学习笔记

开发者学堂课程【HTTP 代理系统第三课时:Nginx 代理】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址https://developer.aliyun.com/learning/course/803/detail/13874


Nginx 代理

 

内容简介

一. Nginx 的使用

二. Nginx 配置反向代理

三. Nginx 性能优化

 

一.Nginx 的使用

1.1打开系统操作

1.1.1首先使用Curl 输入localhost ,此时没有启动Nginx。无法访问端口。

Nginx 代理 | 学习笔记

  1.1.2此时可以使用systemctl status nginx

Nginx 代理 | 学习笔记  1.1.3此时启动nginx 进程进行启动

Nginx 代理 | 学习笔记

  1.1.4 此时重新访问localhost 。

Nginx 代理 | 学习笔记

  1.1.5添加参数,成功启动Nginx

Nginx 代理 | 学习笔记

 1.2Nginx 的简单操作

  1.2.1Nginx-h 帮助查看信息

Nginx 代理 | 学习笔记

  1.2.2Nginx-t 检测配置文件是否可用

Nginx 代理 | 学习笔记

1.2.3Nginx-s reload 重新加载配置文件

例:文件出错可先试用Nginx-t 检测,之后进行试用Nginx-s reload 重新启动。此方法可用确保每次加载信息都是正常可行的。

Nginx 代理 | 学习笔记

例:如试用systemectl restart nginx ,则会显示报错。

Nginx 代理 | 学习笔记

  1.2.4因此在使用之前要修改配置,重新试用Nginx-t检测,之后进行试用Nginx-s reload 重新启动,确保配置文件准确无误。

 Nginx 代理 | 学习笔记

Nginx 代理 | 学习笔记

Nginx 代理 | 学习笔记  1.2.5Nginx-v 查看当前版本

 Nginx 代理 | 学习笔记

1.2.6Nginx-V 查看配置文件的构建参数。

Nginx 代理 | 学习笔记


二. Nginx 配置代理

2.1 Nginx 配置正向定理

Nginx 代理 | 学习笔记

2.2 Nginx 配置反向代理

与正向代理不同的是在location 中使用了proxy-pass 传递了一个地址,是指所有请求代理地址进行请求。

 Nginx 代理 | 学习笔记

 

三.Nginx 性能优化

3.1 IPv4系统内核参数修改

可以通过修改/etc/systclconf 来更新内核参数,并通过systcl-p 来应用修改参数

 

net.corenet_dev_max_backlog:表示每个网络接口接受数据包的速率比内核处理包的速率快时,允许发送到队列的数据包的最大数目。可以通过调整大小,使队列中有更多的数据。

 

netcore.somaxconn:表示系统同时发起的TCP链接数,可以提升该值,获得更高的并发阈值。

 

netipv4.tcpmaxorphans:表示系统最多允许存在多少TCPSocket 不关联到handler 上。超过这个数字的请求会被复位。

netipv4tcpmaxsynbacklog:表示尚未收到客户端确认信息的连接请求最大值,内存越大,这个值可以修改的越大。

3.2 CPU 参数修改

Nginx 中有两个和内核调度有关的指令,可以提升Nginx 的并行处理能力

 

worker_process:该指令可以设置Nginx 的进程数,可以根据CPU 的核心数来设置,设置为CPU核心数或核心数的倍数。

 

workder_cpu_affnity:该指令可以为不同的woker_process 分配CPU.

举例:当把woker_process 值设为4时,workder_cpu_affnity 为4位的2进制数。依次分配位置。

Nginx 代理 | 学习笔记

举例:当把woker_process 值设为6时,workder_cpu_affnity 为6位的2进制数。依次分配位置

Nginx 代理 | 学习笔记

Nginx 代理 | 学习笔记

3.3 网络参数修改

keepalivetimeout 设置了Nginx 与客户端保持连接的超时时间,超过了这个时间,服务器会关闭连接。

 

send_timeout:设置Nginx 相应客户端的超时时间,如果客户端在这个时间内没有响应,就会关闭连接。

 

client_header_buffer_size:设置了客户端请求头缓冲区大小,默认为1Kb。如果Cookie过大,超出缓冲区大小,就会报错。

 

multi_accept设定Nginx 是否尽可能多的接受客户端的请求。

 

举例:如何配置修改Nginx 参数

第一步:修改参数。

在sysctl.conf下进行修改

Nginx 代理 | 学习笔记

第二步:应用修改

执行systcl-p

 Nginx 代理 | 学习笔记

Nginx 代理 | 学习笔记

第三步:查看Nginx的配置

在Nginx.conf当中查看配置信息

Nginx 代理 | 学习笔记

第四步:检测是否正常运行

输入Nginx-t进行检测

Nginx 代理 | 学习笔记

再输入Nginx-s reload检测

Nginx 代理 | 学习笔记

如果显示错误,再次进行输入systemctl statsu nginx,确定是否启动成功。

Nginx 代理 | 学习笔记

输入Systemectl start nginx  启动

Nginx 代理 | 学习笔记

第五步:配置虚拟主机与反向代理

把配置文件放在Conf.d目录中

Nginx 代理 | 学习笔记

 配置正向代理。

Nginx 代理 | 学习笔记

配置反向代理

 Nginx 代理 | 学习笔记

上一篇:Git在eclipse中的使用


下一篇:多进程交替控制输出