性能测试之Nginx设置
介绍
Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。Nginx是由伊戈尔·赛索耶夫为俄罗斯访问量第二的Rambler.ru站点(俄文:Рамблер)开发的,第一个公开版本0.1.0发布于2004年10月4日。
其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。2011年6月1日,nginx 1.0.4发布。
Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,在BSD-like 协议下发行。其特点是占有内存少,并发能力强,事实上nginx的并发能力在同类型的网页服务器中表现较好。
---摘自百度百科
安装方式
源码安装
源码编译可以指定所需要安装的模块:
[root@localhost /]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module 复制代码
如果缺少模块,需要重新编译:
[root@localhost /]# ./configure --prefix=/usr/local/nginx --with-http_stub_status_module 复制代码
但是不需要make,避免覆盖原nginx目录
rpm安装
下载rpm包地址:
[root@localhost opt]# wget <https://centos.pkgs.org/7/getpagespeed-x86_64/nginx-1.18.0-1.el7.ngx.x86_64.rpm.html> [root@localhost opt]# rpm -i [nginx-1.18.0-1.el7.ngx.x86_64.rpm](https://centos.pkgs.org/7/getpagespeed-x86_64/nginx-1.18.0-1.el7.ngx.x86_64.rpm.html) 复制代码
rpm安装包没这个问题,但是它安装之后的命令是:/usr/sbin/nginx,需要覆盖或重新创建软链/usr/bin/nginx
关于rpm卸载
[root@localhost opt]# rpm -qa|grep nginx nginx-1.18.0-1.el7.ngx.x86_64 [root@localhost opt]# rpm -e nginx-1.18.0-1.el7.ngx.x86_64 复制代码
如果nginx没有--with-http_stub_status_module模块,添加以下配置,-t测试时会失败。
location /nginx_tatus { stub_status on; access_log off; } [root@localhost /]# nginx -t # 测试, [root@localhost /]# nginx -s reload #静态加载 复制代码
访问:http://192.168.2.58/ng_status
Active connections: 2 server accepts handled requests 42 42 198 Reading: 0 Writing: 1 Waiting: 1 Active connections – 表示Nginx正在处理的活动连接数为2个 server 表示Nginx启动到现在共处理了42 个连接 accepts 表示Nginx启动到现在共成功创建42 次握手 handled requests 表示总共处理了198次请求 reading — 读取客户端的连接数. writing — 响应数据到客户端的数量 waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接 复制代码
开启nginx服务日志
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_refer '"$http_user_agent" "$http_x_forwarded_for"'; access_log logs/access.log main; 复制代码
查看日志
[root@localhost conf]# tail -f logs/access.log 192.168.2.188 - - [21/Oct/2021:18:55:22 +0800] "GET /jforum/ping_session.jsp HTTP/1.1" 200 376 "http://192.168.2.58/jforum/ping_session.jsp" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36" "-" 192.168.2.188 - - [21/Oct/2021:18:56:22 +0800] "GET /jforum/ping_session.jsp HTTP/1.1" 200 376 "http://192.168.2.58/jforum/ping_session.jsp" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36" "-" 192.168.2.188 - - [21/Oct/2021:18:57:22 +0800] "GET /jforum/ping_session.jsp HTTP/1.1" 200 376 "http://192.168.2.58/jforum/ping_session.jsp" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36" "-" 复制代码
nginx配置优化
都是在nginx.conf配置全局; 连接池 events { worker_connections 20; } cpu处理个数 worker_processes 1; 一些压缩 gzip on; # 等等
作者:职说测试
链接:https://juejin.cn/post/7022101528395644941