nginx是一个常见的轻量级反向代理服务器,以高并发,高性能,高可靠性而闻名。目前大部分集群使用nginx搭建。下面为nainx+tomcat集群搭建流程。

1.下载nginx(nginx下载地址)与tomcat(tomcat下载地址)安装包并上传到服务器

2.解压tomcat

tar -zxvf apache-tomcat-9.0.52

3.进入解压后tomcat,修改conf目录下server.xml

关闭tomcat端口分别修改为8005,8006
<Server port="8005" shutdown="SHUTDOWN">

建立http连接端口分别修改为8100,8101
<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />

4.启动两台tomcat。

5.解压nginx

tar -zxvf nginx-1.16.1.tar.gz

6.进入解压后目录对nginx编译安装

cd nginx-1.16.1/

./configure && make && make install

安装完成后可通过whereis nginx 查看安装位置

7.修改安装后conf中nginx.conf文件 cd /usr/local/nginx/conf

在http模块增加以下代码
#设置日志格式
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
                   '$status $body_bytes_sent "$http_referer" '
                   '"$http_user_agent" "$http_x_forwarded_for"'
                   '"$upstream_addr" "$upstream_status"';


upstream test.com {
        #默认轮询算法
        server ip:8100; # tomcat8100地址
        server ip:8101; # tomcat8101地址
    }
#upstream test.com {
#        iphash算法,根据ip计算hash值每次请求到同一台tomcat
#        ip_hash 
#        server ip:8100; # tomcat8100地址
#        server ip:8101; # tomcat8101地址
#    }

#upstream test.com {
#        最少连接算法
#        least_conn
#        server ip:8100; # tomcat8100地址
#        server ip:8101; # tomcat8101地址
#    }

#upstream test.com {
#        权重算法,weight越大访问几率越高
#        server ip:8100 weight=1 ; # tomcat8100地址
#        server ip:8101 weight=2 ;  # tomcat8101地址
#    }

 server {
        listen       8102;  #监听的端口,如果不想域名后增加端口访问可监听80端口
        location / {
#test.com为域名,没有域名可在C:\Windows\System32\drivers\etc\hosts文件最下方增加  
#nginx所在服务器ip test.com
        proxy_pass http://test.com;   
        access_log /data/logs/8102_access.log  main;  #access日志地址
        error_log  /data/logs/8102_error.log  error;  #error日志地址
        proxy_set_header backendIP $upstream_addr; #代理tomcat地址
        proxy_set_header backendCode $upstream_status; #代理tomcat状态

      }

    }

8.启动nginx

/usr/local/nginx/sbin/nginx

9.访问http://test.com:8101/可通过查看/data/logs/8102_access.log日志验证是否成功。

更多推荐