• nginx+tomcat负载使用


    Nginx+Tomcat搭建

    版本

    操作系统版本

    Centos 6.4

    Nginx版本

    nginx-1.3.15.tar.gz

    JDK版本

    jdk-7u71-linux-i586   //jdk1.7

    Tomcat版本

    apache-tomcat-7.0.41.tar.gz

    前置准备

    可能要用到的包、工具

    1.yum –y install lrzsz   //上传下载工具,高大上的工具,再次鄙视那些用ftp工具的

    2.yum –y install gcc gcc-c++   //两个包gccgcc-c++  为了pcre的编译

    3.yum –y install openssl*    //ssl的支持

    要是编译报错看错误提示,有的可能是少包的支持,没啥yum

    关闭防火墙

    首先把防火墙关闭:service iptables stop

    再设置为永久关闭:chkconfig iptables off

    一定要关,不然本地可能访问不了虚拟机上的apache

    JDK安装

    oracle官网下载jdk1.7  jdk-7u71-linux-i586.rpm

    /opt下创建文件夹jdk

    将jdk-7u71-linux-i586.rpm上传到/opt/jdk

    rpm -ivh jdk-7u71-linux-i586.rpm

    之后修改配置文件

    vi /etc/profile

    在最后加上:

    # jdk

    export JAVA_HOME=/usr/java/jdk1.7.0_71

    export ANDROID_JAVA_HOME=$JAVA_HOME

    export JRE_HOME=/usr/java/jdk1.7.0_71/jre

    export CLASSPATH=/usr/java/jdk1.7.0_71/lib

    export PATH=$JAVA_HOME/bin:$PATH

    保存退出之后执行

    source /etc/profile  //使更改的配置立即生效

    然后输入

    java –version查看jdk是否安装成功,出现版本信息表示安装完成

    [root@localhost conf]# java -version

    java version "1.7.0_71"

    Java(TM) SE Runtime Environment (build 1.7.0_71-b14)

    Java HotSpot(TM) Client VM (build 24.71-b01, mixed mode, sharing)

    Tomcat安装

    /opt下创建文件夹tomcat

    将apache-tomcat-6.0.37.tar.gz上传到/opt/tomcat

    1. apache-tomcat-7.0.41.tar.gz
    2. mv apache-tomcat-7.0.41 tomcat1
    3. mv tomcat1 /usr/local/
    4. cp –r tomcat1 tomcat2
    5. vi /etc/profile修改配置文件

    加入:

    #tomcat

    export TOMCAT_HOME=/usr/local/tomcat1

    export TOMCAT_HOME=/usr/local/tomcat2

    1. 启动tomcat

    /usr/local/tomcat1/bin/startup.sh

    /usr/local/tomcat2/bin/startup.sh

    显示

    Using CATALINA_BASE:   /usr/local/tomcat1

    Using CATALINA_HOME:   /usr/local/tomcat1

    Using CATALINA_TMPDIR: /usr/local/tomcat1/temp

    Using JRE_HOME:        /usr/java/jdk1.7.0_71/jre

    Using CLASSPATH:       /usr/local/tomcat1/bin/bootstrap.jar

    然后ps –ef|grep tomcat查看进程

    最后IE中输入http://ip:端口看到如下页面证明tomcat安装成功

    Nginx安装

    opt下创建文件夹nginx,将nginx-1.3.15.tar.gz上传到nginx文件夹下

    tat –xzvf nginx-1.3.15.tar.gz

    进入nginx-1.3.15

    执行

    ./configure --with-http_stub_status_module --with-http_ssl_module

    执行make && make install

    查看配置

    /usr/local/nginx/sbin/nginx –t

    如果屏幕显示以下两行信息,说明配置文件正确:  

    the configuration file /usr/local/nginx/conf/nginx.conf syntax is ok

    the configuration file /usr/local/nginx/conf/nginx.conf was tested successfully

    启动nginx

    /usr/local/nginx/sbin/nginx

    IE输入IP:端口,出现如下表示安装nginx成功

    Nginx负载配置

    修改nginx.conf,配置文件内容如下

    #user  nobody;

    #启动进程数

    worker_processes  1;

    #全局错误日志及PID文件

    #error_log  logs/error.log;

    #error_log  logs/error.log  notice;

    #error_log  logs/error.log  info;

    #pid        logs/nginx.pid;

    #工作模式及连接数上限

    events {

        worker_connections  1024;

    }

    #设定http服务器,利用它的反向代理功能提供负载均衡支持

    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;

        #tcp_nopush     on;

        #keepalive_timeout  0;

        keepalive_timeout  65;

        #gzip  on;

    ## 配置反向代理的后端tomcat集群

        upstream web_server {

            server localhost:8080 weight=1 max_fails=2 fail_timeout=30s;

            server localhost:9090 weight=1 max_fails=2 fail_timeout=30s;

        }

        server {

            listen       80;

            server_name  localhost;

           ## 网页、视频、图片文件从本地读取,且定义在浏览器中缓存30

            location ~ .*.(htm|html|gif|jpg|jpeg|png|bmp|swf|ioc|rar|zip|txt|flv|mid|doc|ppt|pdf|xls|mp3|wma)$

            {       

                expires 30d;    

            }      

            ## jscss文件从本地读取,且定义在浏览器中缓存1小时

            location ~ .*.(js|css)?$     

            {       

                expires 1h;

            }      

             

            ## 动态文件转发到后端的tomcat集群

            location ~ .*.(php|jsp|cgi|jhtml)?$ {

                proxy_pass http://web_server;

                proxy_set_header Host  $host;

                proxy_set_header X-Forwarded-For  $proxy_add_x_forwarded_for;

                proxy_set_header X-Real-IP  $remote_addr;

            }

            #charset koi8-r;

            #access_log  logs/host.access.log  main;

            location / {

                root   html;

                index  index.html index.htm;

            }

            #error_page  404              /404.html;

            # redirect server error pages to the static page /50x.html

            #

            error_page   500 502 503 504  /50x.html;

            location = /50x.html {

                root   html;

            }

            # proxy the PHP scripts to Apache listening on 127.0.0.1:80

            #

           

        }

    }

    修改Tomcat配置文件server.xml

    <Server port="8005" shutdown="SHUTDOWN">  //指定一个端口,这个端口负责监听关闭tomcat的请求

    <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000"redirectPort="8443"/>   //tomcat端口号

    测试负载

    在两个tomcat下加入工程test

    mkdir /usr/local/tomcat1/webapps/test

    mkdir /usr/local/tomcat2/webapps/test

    在两个test工程下分别创建test.jsp,内容如下

    <%@ page contentType="text/html;charset=UTF-8"%>

    <html>

    <head>

    <title> Tomcat_test1</title>

    </head>

    <body>

    <font color = "red" size = "20" >

    <% out.print( "test111" ); %>

    </font>

    </body>

    </html>

    <%@ page contentType="text/html;charset=UTF-8"%>

    <html>

    <head>

    <title> Tomcat_test2</title>

    </head>

    <body>

    <font color = "red" size = "20" >

    <% out.print( "test222" ); %>

    </font>

    </body>

    </html>

    启动tomcat+nginx

    启动nginx/usr/local/nginx/sbin/nginx

    启动tomcat

    /usr/local/tomcat1/bin/startup.sh

    /usr/local/tomcat2/bin/startup.sh

    查看进程

    在两个IE中输入ipnginx端口/工程/jsp页面,最好是不同浏览器,出现如下表示搭建成功

     

    注意:这么做只是测试,正常情况下后端的工程必须一致,不然相当于客户端发出了请求俩系统来响应,就出大事了

  • 相关阅读:
    JS 中深拷贝的几种实现方法
    实现一个函数clone,可以对JS中的5种数据类型(Number、String、Object、Array、Boolean)进行值复制
    etTimeout来实现setInterval
    原型链
    Vue.js面试题整理
    JS中的闭包
    JavaScript的数据类型
    MyBatis-Plus使用(1)-概述+代码生成器
    JDK8的Optional用法
    动态修改HttpServletRequest的Post请求参数
  • 原文地址:https://www.cnblogs.com/lgqboke/p/5807706.html
Copyright © 2020-2023  润新知