设为首页 收藏本站
查看: 727|回复: 0

[经验分享] Nginx+tomcat实现动静分离

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-8-17 09:23:45 | 显示全部楼层 |阅读模式
Nginx处理静态页面的效率明显高于tomcat,所以使用nginx处理用户请求的静态页面,tomcat处理动态页面,用nginx和tomcat达到动静分离的效果,从而提高并发性。
实现环境:redhat 6.5
实现主机: 172.25.16.2 nginx
                 172.25.16.3 tomcat
                 172.25.16.4 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

  • 在 server2主机上源码编译 nginx

  [iyunv@server2 nginx-1.6.2]# yum install -y pcre-devel gcc-c++ openssl-devel zlib-devel cmake                    //安装依赖包  
  [iyunv@server2 ~]# tar -zxvf nginx-1.6.2.tar.gz

  [iyunv@server2 ~]# cd nginx-1.6.2
  [iyunv@server2 nginx-1.6.2]# vim auto/cc/gcc
    CFLAGS="$CFLAGS -g"     //去掉这行debug模式编译的注释,编译之后程序只有几百K
  [iyunv@server2 nginx-1.6.2]# ./configure --prefix=/usr/local/nginx/ --with-http_stub_status_module --with-http_ssl_module
  [iyunv@server2 nginx-1.6.2]# make && make install
  [iyunv@server2 sbin]# ln -s /usr/local/nginx/sbin/ /usr/local/bin/    //软连接nginx的启动文件

  [iyunv@server2 ~]# useradd -d /usr/local/nginx/ -M -s /sbin/nologin nginx   //添加nginx用户并设置家目录
2. 在server3和server4上配置tomcat 和 jdk
  [iyunv@server3 ~]# tar -zxvf jdk-7u79-linux-x64.tar.gz
  [iyunv@server3 ~]# mv jdk1.7.0_79/ /usr/local/jdk/
  [iyunv@server3 ~]# vim /etc/profile
    JAVA_HOME=/usr/local/jdk
    PATH=$PATH:$JAVA_HOME/bin
    CLASSPATH=.:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
[iyunv@server3 ~]# source /etc/profile
[iyunv@server3 ~]# java -version     //显示版本,jdk配置成功
     java version "1.7.0_79"

[iyunv@server3 ~]# tar -zxvf apache-tomcat-8.0.24.tar.gz
[iyunv@server3 ~]# mv apache-tomcat-8.0.24/ /usr/local/tomcat/
[iyunv@server3 ~]# cd /usr/local/tomcat/bin/
[iyunv@server3 bin]# ./startup.sh      //开启tomcat

[iyunv@server3 bin]# netstat -antlp | grep java
  tcp        0      0 :::8080                     :::*                        LISTEN     1281/java    //8080 http端口:可以通过web页面直接访问      
  tcp        0      0 ::ffff:127.0.0.1:8005       :::*                        LISTEN      1281/java  //8005 shutdown端口:主要负责启动关闭         
  tcp        0      0 :::8009                     :::*                        LISTEN      1281/java  //8009 ajp端口:主要负责通过ajp均衡         

//修改nginx主配置文件
[iyunv@server2 ~]# vim /usr/local/nginx/conf/nginx.conf

user  nginx nginx;
worker_processes  2;

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"';

   upstream westos {
        server 172.25.16.3:8080;
        server 172.25.16.4:8080;
        }

    sendfile        on;
    keepalive_timeout  65;

    server {
        listen 80;
        access_log logs/host.access.log;

    location ~ \.jsp$ {        //以.jsp结尾的动态页面交给代理westos处理即后端tomcat
        proxy_pass http://westos;
        }

    location ~ .*\.(html|jpg|txt)$ {     //由nginx处理静态页面
     expires 3d;
        }
    }
}
//现在就可以在客户端测试,当浏览器访问静态页面时nginx处理,访问jsp页面时后端tomcat处理;

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-100052-1-1.html 上篇帖子: nginx整合tomcat 下篇帖子: NGINX+TOMCAT负载均衡
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表