魔扣论坛

魔扣源码论坛业务
查看: 5849|回复: 30

Nginx+Tomcat动静分离及Nginx优化(企业案例)

[复制链接]
  • TA的每日心情
    慵懒
    18 小时前
  • 签到天数: 2957 天

    [LV.Master]开坛老将

    7万

    主题

    227

    回帖

    27万

    积分

    管理员

    Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30Rank: 30

    魔扣币
    745759
    贡献
    157915
    威望
    32799

    最佳新人活跃会员热心会员推广达人宣传达人突出贡献优秀版主荣誉管理论坛元老

    发表于 2017-12-15 22:37:06 | 显示全部楼层 |阅读模式
    魔扣币兑换比例:【 50以下 : ¥1 = 10 魔扣币 】丨【 50 - 100 :¥1 = 20 魔扣币】丨【 100以上:¥1 = 30 魔扣币 】

    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有账号?立即注册

    x
                                                                                                       
    目的:nginx处理用户请求的静态页面,tomcat处理用户请求jsp页面,来实现动态分离,nginx处理静态页面效率远高于tomcat,这样一来就能更好的提高并发,处理性能。

    准备软件:

    下载jdk:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
    下载tomcat:http://tomcat.apache.org/download-80.cgi
    下载nginx:http://nginx.org/en/download.html

    1、JDK配置
    [root@localhost ~]# tar zxvf jdk-7u45-linux-x64.tar.gz    [root@localhost ~]# mv jdk1.7.0_45/ /usr/local/jdk    [root@localhost ~]# vi /etc/profile    JAVA_HOME=/usr/local/jdk    PATH=$PATHJAVA_HOME/bin    CLASSPATH=.JAVA_HOME/libJAVA_HOME/jre/lib    export JAVA_HOME PATHCLASSPATH    [root@localhost ~]# source /etc/profile    [root@localhost ~]# java -version  #显示版本说明成功    java version"1.7.0_45"2、Tomcat配置

    [root@localhost ~]# tar zxvf apache-tomcat-8.0.0-RC5.tar.gz    [root@localhost ~]# mv apache-tomcat-8.0.0-RC5 /usr/local/tomcat#默认tomcat是root身份运行的,这样不安全,我们设置来用普通用户

    [root@localhost ~]# groupadd tomcat    [root@localhost ~]# useradd -g tomcat tomcat    [root@localhost ~]# passwd tomcat    [root@localhost ~]# chown tomcat.tomcat -R /usr/local/tomcat    [root@localhost ~]# su - tomcat /usr/local/tomcat/bin/startup.sh    [root@localhost ~]# echo 'su - tomcat -c "tomcat /usr/local/tomcat/bin/startup.sh"' >> /etc/rc.local  #开机启动3、Nginx安装配置

    [root@localhost ~]# groupadd nginx    [root@localhost ~]# useradd -g nginx -s /sbin/nologin nginx    [root@localhost ~]# yum install –y make zlib-devel openssl-devel pcre-devel    [root@localhost ~]# tar zxvf nginx-1.4.4.tar.gz    [root@localhost ~]# cd nginx-1.4.4    [root@localhost nginx-1.4.4]# ./configure --prefix=/usr/local/nginx --with-http_ssl_module --with-http_gzip_static_module --with-http_stub_status_module    [root@localhost nginx-1.4.4]# make && make install#主配置文件配置

    [root@localhost ~]# vi /usr/local/nginx/conf/nginx.conf    user  nginx;    worker_processes  1;    error_log  logs/error.log;    pid       logs/nginx.pid;    events {        use epoll;        worker_connections  1024;    }    http {        include       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 logs/access.log  main;        sendfile        on;        keepalive_timeout  65;        #gzip压缩功能设置        gzip on;        gzip_min_length 1k;        gzip_buffers    4 16k;        gzip_http_version 1.0;        gzip_comp_level 2;        gzip_types text/plain application/x-javascripttext/css application/xml;        gzip_vary on;        server {            listen       80;            server_name www.test.com;            location / {        #jsp网站程序根目录,一般nginx与tomcat在同一个目录                root  /usr/local/tomcat/webapps/ROOT;                index  index.html index.jsp index.html;            }            location ~ .*.jsp$ {                index index.jsp;                proxy_pass http://127.0.0.1:8080;   #来自jsp请求交给tomcat处理                proxy_redirect off;                proxy_set_header Host $host;    #后端的Web服务器可以通过X-Forwarded-For获取用户真实IP                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;   #nginx跟后端服务器连接超时时间                proxy_read_timeout 90;      #连接成功后,后端服务器响应时间                proxy_buffer_size 4k;       #设置代理服务器(nginx)保存用户头信息的缓冲区大小                proxy_buffers 6 32k;        #proxy_buffers缓冲区,网页平均在32k以下的话,这样设置                proxy_busy_buffers_size 64k;#高负荷下缓冲大小(proxy_buffers*2)                proxy_temp_file_write_size 64k; #设定缓存文件夹大小,大于这个值,将从upstream服务器传            }            location ~ .*\.(gif|jpg|png|bmp|swf)$   #由nginx处理静态页面            {                expires 30d;   #使用expires缓存模块,缓存到客户端30天            }            location ~ .*\.(jsp|js|css)?$            {                expires 1d;            }                error_page  404         /404.html;   #错误页面                error_page  500 502 503 504  /50x.html;                location = /50x.html {                root html;            }        }    }#编写nginx启动、停止、重启等SysV管理脚本,方便使用


    [root@localhost ~]# vi /etc/init.d/nginx    #!/bin/bash    # chkconfig: 345 99 20    # description: Nginx servicecontrol script    PROG="/usr/local/nginx/sbin/nginx"    PIDF="/usr/local/nginx/logs/nginx.pid"    case "$1" in    start)    $PROG    echo "Nginx servicestart success."    ;;    stop)    kill -s QUIT $(cat $PIDF)    echo "Nginx service stopsuccess."    ;;    restart)    $0 stop    $0 start    ;;    reload)    kill -s HUP $(cat $PIDF)    echo"reload Nginx configsuccess."    ;;    *)    echo "Usage: $0{start|stop|restart|reload}"    exit 1    esac[root@localhost ~]# chmod +x /etc/init.d/nginx    [root@localhost ~]# service nginx restart    [root@localhost ~]# chkconfig --add nginx    [root@localhost ~]# chkconfig nginx on4、性能测试



    下面我们使用的ab压力测试工具,模拟发起一次1万的并发请求,使用的index.html页面是百度首页代码

    Nginx测试

    Tomcat测试

    主要参数说明:

    Requests per second:平均每秒处理事务数
    Time per request:平均事务响应时间
    Tranfer rate:平均每秒网络吞吐量
    经上面测试得出:nginx每秒处理请求6000次,而tomcat每秒只处理请求1000次。

    由此看来,nginx是tomcat6倍的处理能力,如果网站程序静态页面多的话,就应该考虑使用Nginx与Tomcat整合来使用。
                        
                            
    会员购买:>> 点击购买 << | 魔扣币购买:>> 点击购买 <<
    承接业务:服务器代维丨网站托管丨SEO
    联系客服:微信:morko-net | QQ:1367681973

    该用户从未签到

    2

    主题

    253

    回帖

    509

    积分

    高级魔扣

    Rank: 4

    魔扣币
    254
    贡献
    254
    威望
    0
    发表于 2017-12-15 22:42:03 | 显示全部楼层
    因为有缘,让我们在空间里相识。友情是绵绵的细雨,滋润心田;友情是浩瀚的海洋,博大精深;友情是天上的白云,绚丽多彩;友情是陈年的佳酿,醇香溢人;友情是梦中的舞者,引人如醉;友情是优美的音乐,曲曲感人。魔扣源码论坛祝好友心情永远愉快,永远事事顺利,永远平安吉祥、如意!

    该用户从未签到

    1

    主题

    246

    回帖

    493

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    246
    贡献
    246
    威望
    0
    发表于 2018-2-11 09:03:04 | 显示全部楼层
    伤心最大的建设性,在于明白,那颗心还在老地方。',

    该用户从未签到

    1

    主题

    268

    回帖

    537

    积分

    高级魔扣

    Rank: 4

    魔扣币
    268
    贡献
    268
    威望
    0
    发表于 2018-6-30 05:14:45 | 显示全部楼层
    给自己的三句话:一、年轻,什么都还来得及;二、不要纠缠于小事;三、你现在遇到的事都是小事。',

    该用户从未签到

    1

    主题

    251

    回帖

    504

    积分

    高级魔扣

    Rank: 4

    魔扣币
    252
    贡献
    252
    威望
    0
    发表于 2018-7-27 21:37:22 | 显示全部楼层
    博海踏浪,书写神奇的友谊,网络之缘让我认识了你,你是我生命中最美的相遇!你是我魔扣源码论坛知心的朋友,你是我可遇不可求的知己!神奇的网络把我们的心紧紧地凝聚在一起,没有了天南海北的距离,没有了从前的相隔万里!我们就像近在咫尺,你的家园我愿前去,我的小屋你常常点击,共同的语言让我们彼此相知,共建浪漫家园的美好夙愿,让我们紧紧拥抱着这一片神奇的网络土地!一次次的耕耘,一次次的收获,我们定会得到一次次的惊喜!愿朋友开心快乐每一天!

    该用户从未签到

    2

    主题

    257

    回帖

    516

    积分

    高级魔扣

    Rank: 4

    魔扣币
    257
    贡献
    257
    威望
    0
    发表于 2018-9-2 19:50:26 | 显示全部楼层
    非常好,顶一下

    该用户从未签到

    2

    主题

    263

    回帖

    528

    积分

    高级魔扣

    Rank: 4

    魔扣币
    263
    贡献
    263
    威望
    0
    发表于 2018-9-5 11:05:41 | 显示全部楼层
    真诚的朋友虽然遥远还是心绪相牵!纯真的友谊即是难聚仍然温馨美甜!魔扣源码论坛祝福好朋友事事顺心如意快乐天天!远方的我时时为您衷心的祈祷祝愿!

    该用户从未签到

    2

    主题

    269

    回帖

    540

    积分

    高级魔扣

    Rank: 4

    魔扣币
    269
    贡献
    269
    威望
    0
    发表于 2018-9-11 10:17:41 来自手机 | 显示全部楼层
    为了三千积分!

    该用户从未签到

    1

    主题

    234

    回帖

    469

    积分

    中级魔扣

    Rank: 3Rank: 3

    魔扣币
    234
    贡献
    234
    威望
    0
    发表于 2018-10-19 16:27:10 | 显示全部楼层
    有你真好!看到你来让我高兴极了!珍惜网络中遇见的您——我的朋友!珍惜我们之间的真情!时刻把你关怀!魔扣源码论坛上梦中人祝朋友周末愉快!

    该用户从未签到

    2

    主题

    278

    回帖

    558

    积分

    高级魔扣

    Rank: 4

    魔扣币
    278
    贡献
    278
    威望
    0
    发表于 2018-10-31 12:58:20 来自手机 | 显示全部楼层
    魔扣源码论坛网络版块就像是监狱,本来是偷了个钱包进来的,等出去的时候就什么都学会了。   
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    • 联系我们
    • 新浪微博 :
    • 在线客服 :魔扣科技 
    • 源码QQ群 :魔扣源码论坛官方总群
    • 联系邮箱 :charlin#morko.net
    • 微信扫一扫
    快速回复 返回顶部 返回列表