Nginx 代理 | 学习笔记-阿里云开发者社区

开发者社区> 【开发者学堂】官方技术圈> 正文
登录阅读全文

Nginx 代理 | 学习笔记

简介: 快速学习Nginx 代理,介绍了 HTTP 代理系统机制, 以及在实际应用过程中如何使用。

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

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


Nginx 代理

 

内容简介

一. Nginx 的使用

二. Nginx 配置反向代理

三. Nginx 性能优化

 

一.Nginx 的使用

1.1打开系统操作

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

3.png

  1.1.2此时可以使用systemctl status nginx

4.png  1.1.3此时启动nginx 进程进行启动

5.png

  1.1.4 此时重新访问localhost 。

6.png

  1.1.5添加参数,成功启动Nginx

7.png

 1.2Nginx 的简单操作

  1.2.1Nginx-h 帮助查看信息

8.png

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

9.png

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

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

10.png

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

11.png

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

 12.png

13.png

14.png  1.2.5Nginx-v 查看当前版本

 15.png

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

16.png


二. Nginx 配置代理

2.1 Nginx 配置正向定理

17.png

2.2 Nginx 配置反向代理

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

 18.png

 

三.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进制数。依次分配位置。

19.png

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

20.png

21.png

3.3 网络参数修改

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

 

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

 

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

 

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

 

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

第一步:修改参数。

在sysctl.conf下进行修改

22.png

第二步:应用修改

执行systcl-p

 23.png

24.png

第三步:查看Nginx的配置

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

27.png

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

输入Nginx-t进行检测

25.png

再输入Nginx-s reload检测

26.png

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

28.png

输入Systemectl start nginx  启动

29.png

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

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

30.png

 配置正向代理。

31.png

配置反向代理

 32.png

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:

阿里云开发者学堂,是开发者学习成长的一站式学习平台。平台源源不断的生产优质体系化课程、优质内容如电子书、直播、体验场景、训练营等,为开发者构建完善的学习成长体系,为开发者赋能。目前,开发者学堂包含数据库、大数据、云原生、AI、IoT等各大热门领域精品课,全部免费对开发者开放。

官方博客
最新文章
相关文章
官网链接