码迷,mamicode.com
首页 > 其他好文 > 详细

性能测试二十二:环境部署之Nginx

时间:2019-01-11 00:49:02      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:性能   定义   ups   Nginx访问日志   日志记录   nginx配置文件   tamcat   代理服务器   一个   

 

 

由于单纯用tomcat只能通过ip+端口号的形式访问,这样只能访问一个tomcat,而真实项目中又不可能只用一两个tomcat,所以就需要Nginx来进行分配访问请求, Nginx本身性能非常好,据官网介绍,每秒支持50Wtps

Nginx只是负责转发请求,不处理逻辑,

Nginx还有一个做一作用,就是负载均衡

Nginx下有个html文件夹,可以存放项目html静态文件

 

Nginx:反向代理服务器

web服务器:转发请求,nginx,apache,类似于服务员(传菜的)

应用服务器:tomcat,处理动态的语言,处理逻辑,类似于厨师(做菜的)

技术分享图片

Nginx安装

安装Nginx前需要先安装pcre、zlib、OpenSSL等模块,手动安装比较繁琐
本次nginx安装直接使用自动化脚本install.sh安装
1、首先确保安装包放到/usr/local/src目录下

技术分享图片

技术分享图片

2、进入到解压后的目录下 cd /usr/local/src/auto_setup_nginx_new

技术分享图片

技术分享图片

技术分享图片

3、赋权限 chmod +x ./*

技术分享图片

4、执行安装脚本 ./install.sh,安装过程大概一分钟

技术分享图片

技术分享图片

5、安装成功后,nginx会自动安装到/export/servers目录

 技术分享图片

技术分享图片

 

Nginx配置文件修改

进入conf文件夹

技术分享图片

技术分享图片

nginx.conf需要修改内容:
1,user:是否是root

技术分享图片

2,worker_processes:几个内核,查看cpu核数:cat /proc/cpuinfo,另外一种是top命令,然后按1

查看CPU核数

技术分享图片

由于只有一个核,所以worker_processes设置为1

技术分享图片

3,worker_cpu_affinity:对应上一个配置,用二进制形式写出来(0-x)proxy_passproxy_pass

第一个数字代表一个核,每增加一个核,数字*10

技术分享图片

如:以下为8核,若16核则应该为0000000000000001开始

技术分享图片

4,日志的path:自定义

技术分享图片

worker_rlimit_nofile:每个worker可以支持多少个链接,核数*65535

技术分享图片

error_page:错误页面,一旦出现以下错误,直接跳转到自己设置的页面

技术分享图片

5,include domains/* 关注这个配置,存放tomcat相关的配置,默认不用改

技术分享图片

每个人tomcat的配置文件都放这里,Nginx自动全部导进配置

技术分享图片

6,拷贝/usr/local/src/下的xxx.demo.com到/export/servers/nginx/conf/domains目录下

技术分享图片

为teach项目准备的,所以起个明显的名字,如www.teach.com

技术分享图片

7,vi www.teach.com

技术分享图片

8,注意upstream后的名字和proxy_pass保持一致,upstream里面所配的就是负载均衡的配置

技术分享图片

技术分享图片

9,server 192.168.1.209:8080 weight=10 max_fails=2 fail_timeout=30s;有几个tamcat,配置几个,weight:权重,每个tomcat分配的负载比例

由于前面我给teach项目配了两个tomcat,一个8080,一个8090

技术分享图片

10,server name,修改成跟xxx.demo.一致即可,此域名非向运营商注册的域名

技术分享图片

项目日志、错误日志

技术分享图片

11,在nginx的sbin目录下,执行./nginx即可启动nginx,./nginx -s reload 重启nginx

cd /export/servers/nginx/sbin

技术分享图片

执行命令./nginx,没有日志,如果有日志一般就是错误日志,就要去检查配置有没有配错

技术分享图片

技术分享图片

12,默认情况下,nginx的日志在logs目录下,access.log和error.log

13,启动nginx,在浏览器中通过ip直接访问PerfTeach的接口,或者配上host,通过域名访问(先通过ip+端口号的形式访问,以确认单独的tomcat是没问题的,确认没问题了再通过域名访问)
先去系统host文件中映射服务器ip和域名

技术分享图片

技术分享图片

在浏览器中输入www.teach.com/PerfTeach/login.jsp访问

技术分享图片

 同理可设置OA项目

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

重启Nginx:./nginx -s reload

技术分享图片

访问:http://www.oa.com/TestOA/userAction_loginUI.action

技术分享图片

 

Nginx负载均衡配置
Nginx负载均衡策略
1、轮询:默认策略,轮流分配请求
2、ip_hash:根据ip进行hash算法,固定的ip分配到固定的后端server
3、fair:根据后端server的响应时间来分配请求,响应时间短的优先分配
4、url_hash:根据url进行hash算法,固定的url分配到固定的后端server

Nginx访问日志配置
Nginx的logs目录access.log会显示每一次访问的日志

技术分享图片

访问日志:

技术分享图片

技术分享图片

 

 

修改nginx.conf配置文件中
log format main配置项中添加 $request_time可以在access.log中显示请求时间,单位秒

 技术分享图片

技术分享图片

技术分享图片

重启Nginx:./nginx -s reload

技术分享图片

回到log目录下:tail -f access.log

技术分享图片

刷新一下网页,多了一个响应时间

技术分享图片

 

此日志记录的时间,为从请求到Nginx开始,到离开Nginx回到客户端所耗费的时间

前面讲的tomcat的日志时间,为从请求到tomcat,到离开tomcat回到客户端的时间

 

性能测试二十二:环境部署之Nginx

标签:性能   定义   ups   Nginx访问日志   日志记录   nginx配置文件   tamcat   代理服务器   一个   

原文地址:https://www.cnblogs.com/zhongyehai/p/10253232.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!