开发者学堂课程【HTTP 代理系统第三课时:Nginx 代理】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/803/detail/13874
Nginx 代理
内容简介
一. Nginx 的使用
二. Nginx 配置反向代理
三. Nginx 性能优化
一.Nginx 的使用
1.1打开系统操作
1.1.1首先使用Curl 输入localhost ,此时没有启动Nginx。无法访问端口。
1.1.2此时可以使用systemctl status nginx
1.1.3此时启动nginx 进程进行启动
1.1.4 此时重新访问localhost 。
1.1.5添加参数,成功启动Nginx
1.2Nginx 的简单操作
1.2.1Nginx-h 帮助查看信息
1.2.2Nginx-t 检测配置文件是否可用
1.2.3Nginx-s reload 重新加载配置文件
例:文件出错可先试用Nginx-t 检测,之后进行试用Nginx-s reload 重新启动。此方法可用确保每次加载信息都是正常可行的。
例:如试用systemectl restart nginx ,则会显示报错。
1.2.4因此在使用之前要修改配置,重新试用Nginx-t检测,之后进行试用Nginx-s reload 重新启动,确保配置文件准确无误。
1.2.5Nginx-v 查看当前版本
1.2.6Nginx-V 查看配置文件的构建参数。
二. Nginx 配置代理
2.1 Nginx 配置正向定理
2.2 Nginx 配置反向代理
与正向代理不同的是在location 中使用了proxy-pass 传递了一个地址,是指所有请求代理地址进行请求。
三.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进制数。依次分配位置。
举例:当把woker_process 值设为6时,workder_cpu_affnity 为6位的2进制数。依次分配位置
3.3 网络参数修改
keepalivetimeout 设置了Nginx 与客户端保持连接的超时时间,超过了这个时间,服务器会关闭连接。
send_timeout:设置Nginx 相应客户端的超时时间,如果客户端在这个时间内没有响应,就会关闭连接。
client_header_buffer_size:设置了客户端请求头缓冲区大小,默认为1Kb。如果Cookie过大,超出缓冲区大小,就会报错。
multi_accept设定Nginx 是否尽可能多的接受客户端的请求。
举例:如何配置修改Nginx 参数
第一步:修改参数。
在sysctl.conf下进行修改
第二步:应用修改
执行systcl-p
第三步:查看Nginx的配置
在Nginx.conf当中查看配置信息
第四步:检测是否正常运行
输入Nginx-t进行检测
再输入Nginx-s reload检测
如果显示错误,再次进行输入systemctl statsu nginx,确定是否启动成功。
输入Systemectl start nginx 启动
第五步:配置虚拟主机与反向代理
把配置文件放在Conf.d目录中
配置正向代理。
配置反向代理