• centos 安装nginx + 多个tomcat负载均衡


    今天在centos上安装了两个tomcat和nginx,进行配置。今天记录的只是最基本的实现测试。(不包含使用redis进行session共享)

    Nginx 是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like 协议下发行。  其特点是占有内存少,并发能力强。

    直接开始主题:

    1,首先jdk应该是配好了我就不写了,安装nginx(我使用的rmp安装) ,安装 pcre 让nginx支持rewrite,我使用的是pcre2-10.00.tar.gz;

    PCRE下载地址:ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/  

      tar zxvf  pcre-8.01.tar.gz  

      cd pcre-8.01  

      ./configure  

      make 

      make install 

    ps:(网上说没有安装openssl还要安装openssl。)

    2,安装nginx:

     rpm -ivh nginx-release-centos-6-0.el6.ngx.noarch.rpm 

     yum install nginx   (我是一路的[y/n]  选择y,最后出现complete!)

    nginx的几个默认目录:

     whereis nginx
     nginx: /usr/sbin/nginx /etc/nginx /usr/share/nginx

     其中

     配置所在目录:/etc/nginx/

     错误日志:/var/log/nginx/error.log

     默认站点目录:/usr/share/nginx/html

    3.可能CentOS的防火墙把80端口拦住了,打开80端口

    iptables -I INPUT -p tcp --dport 80 -j ACCEPT

    /etc/init.d/iptables status 查看

    出现这个就哦了。

    4,配置nginx:

    配置文件在/etc/nginx/

    #Nginx所用用户和组 
    user  root;
    worker_processes  4;
    
    error_log  /var/log/nginx/error.log warn;
    pid        /var/run/nginx.pid;
    
    
    events {
        #使用网络IO模型linux建议epoll,FreeBSD建议采用kqueue  
        use epoll;  
          
        #允许最大连接数 
        worker_connections  2048;
    }
    
    
    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  65;
    
        #gzip  on;
        upstream localhost {  
             #ip_hash   
              server localhost:8081;  
              server localhost:8080;  
             } 
    
        #这里还包含另外的cong文件
        include /etc/nginx/conf.d/*.conf;
    
        
    
    
    
    
    }

    主要是upstream 所以一会将要把两个tomcat端口设置成8080和8081.

    另一个配置文件就是那个包含的/etc/nginx/conf.d/*.conf; (也就是default.conf):

    #charset koi8-r;
        #access_log  /var/log/nginx/log/host.access.log  main;
        #修改就是这一段代理
        location / {
            proxy_connect_timeout   3;  
            proxy_send_timeout      30;  
            proxy_read_timeout      30;  
            proxy_pass http://localhost;
        }
    
        #error_page  404              /404.html;
    
        # redirect server error pages to the static page /50x.html
        #

    5.启动nginx(我是先配置好两个tomcat,然后再测试的,继续往下)

     nginx

     测试nginx配置:nginx -t

    6,开始配置tomcat

      tomcat都很熟悉,这次只需要修改server.xml配置文件即可。修改3处:

    a: 

    <!-- 修改port端口:18080 两个tomcat不能重复-->
    <Server port="18080" shutdown="SHUTDOWN">

    b:

    <!-- port="8080" tomcat监听端口 -->
    <Connector port="8080" protocol="HTTP/1.1"
    connectionTimeout="20000"
    redirectPort="8443" />

    c:  Engine元素增加jvmRoute属性:(我是 tomcat1 和 tomcat2 )

    <Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcat1">

    另一个也是改这三处,但是端口要和nginx一致。我的是8080和8081

    7.测试:启动两个tomcat和nginx。

    验证配置负载均衡设置,http://localhost/   多次访问测试:

    我为了方便看。这两个tomcat的首页我添加了一个小标识。说明访问了不同的tomcat。

    8.后续还需要加上redis缓存实现session共享,根据自己情况进行测试。

    
    
  • 相关阅读:
    AJAX跨域JS访问
    dd
    学习java,搭建一个英文名著轻松阅读网站
    超载问题求解!!!
    nginx + uwsgi 部署Django项目
    一种算法问题,求指点!
    js除法余数
    button捕捉回车键
    为SQL表添加全文索引范例
    .Net刷新页面的小结
  • 原文地址:https://www.cnblogs.com/781811964-Fighter/p/4263102.html
Copyright © 2020-2023  润新知