Nginx与tomcat 实现负载均衡和动静分离

来源:互联网 发布:s7200编程电缆驱动 编辑:程序博客网 时间:2024/06/15 21:35

一 配置
1. nginx介绍就不多说了,我使用的是阿里云的centos ,使用yum命令安装 的,很容易。
2. nginx的配置文件:nginx.conf配置
我参考文章,点击查看

配置文件如下:# For more information on configuration, see:#   * Official English Documentation: http://nginx.org/en/docs/#   * Official Russian Documentation: http://nginx.org/ru/docs/user              nginx;worker_processes  1;error_log  /var/log/nginx/error.log;#error_log  /var/log/nginx/error.log  notice;#error_log  /var/log/nginx/error.log  info;pid        /var/run/nginx.pid;events {    worker_connections  1024;}http {    include       /etc/nginx/mime.types;    default_type  application/octet-stream;    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '                      '$status $body_bytes_sent "$http_referer" '                      '"$http_user_agent" "$http_x_forwarded_for"';    access_log  /var/log/nginx/access.log  main;    sendfile        on;    #tcp_nopush     on;    #keepalive_timeout  0;    keepalive_timeout  65;    #gzip  on;    #负载均衡设置,暂时未用到,后面会使用到    upstream www.###.cn {    #ip_hash;        server 127.0.0.1:8080;    }    server {        listen       80;        server_name  www.lexinli.cn;        index index.html index.jsp;        root /home/wwwftp/ROOT;        #配置Nginx动静分离,定义的静态页面直接从Nginx发布目录读取。        location ~ .*\.(html|htm|gif|jpg|jpeg|bmp|png|ico|txt|js|css)$         {               root /home/wwwftp/ROOT;               #expires定义用户浏览器缓存的时间为1天,如果静态页面不常更新,可以设置更长这样可以节省带宽和缓解服务器的压力              expires      1d;          }         #所有jsp、do的动态请求都交给后面的tomcat处理         location ~ (\.jsp)|(\.action)$         {               #tomcat地址              proxy_pass http://127.0.0.1:8080;                proxy_redirect off;                proxy_set_header HOST $host;                proxy_set_header X-Real-IP $remote_addr;                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;                client_max_body_size 10m;                client_body_buffer_size 128k;                proxy_connect_timeout 90;                proxy_send_timeout 90;                proxy_read_timeout 90;                proxy_buffer_size 4k;                proxy_buffers 4 32k;                proxy_busy_buffers_size 64k;                proxy_temp_file_write_size 64k;          }              #location / {          #        proxy_connect_timeout   3;          #        proxy_send_timeout      30;          #        proxy_read_timeout      30;          #            proxy_pass http://www.lexinli.cn;          #   }    }    # Load config files from the /etc/nginx/conf.d directory    # The default server is in conf.d/default.conf    include /etc/nginx/conf.d/*.conf;}

配置完成后 /usr/sbin/nginx -s reload 重新加载配置文件

二. 测试效果:
测试Nginx 和Tomcat高并发的情况下处理静态页面性能如何?
采用了 Linux ab网站压力测试命令来测试一下性能
ab -c 10 -n 1000表示同时处理100个请求并运行1000次index.html文件
1.测试一下Nginx 处理静态页面的性能
访问nginx的:
ab -c 10 -n 1000 http://www.lexinli.cn/index.html
每秒请求数结果:Requests per second: 7095.22 [#/sec] (mean)
直接访问tomcat的:
ab -c 10 -n 1000 http://www.lexinli.cn:8080/index.html
每秒请求数结果:Requests per second: 1675.85 [#/sec] (mean)
静态交给Nginx处理,动态请求交给Tomcat,提高了性能

0 0
原创粉丝点击