julley 发表于 2017-12-23 20:35:15

Linux下nginx+多个Tomcat负载均衡的实现

  博主原创,转载请注明。
  由于项目需要,共创建了10个Tomcat端,由nginx负责转发。9个Tomcat端口分别是8080,11000,12000,13000,14000,15000,16000,17000,18000,19000.
  nginx配置:upstream Tomcat {
  server xxx.xxx.xx.xxx:8080
  server xxx.xxx.xx.xxx:11000
  ...以此类推
  }
  server配置:
  server{
  if ( $uri = '/' ){
  rewrite .* /break;
  }
  location / {
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://tomcat;
  }
  server{
  if ( $uri = '/' ){
  rewrite .* / break;
  }
  location / {
  proxy_redirect off;
  proxy_set_header Host $host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_pass http://tomcat;
  }
  ...依次类推
  }
  其他类似。主要是Tomcat这里配置比较繁琐。
  1,下载jdk安装包,这里下载的是1.8版本的。
  2,解压。
  3,安装路径在/usr/java目录中
  4,环境变量的配置:
  vim /etc/profile进入编辑:
  export JAVA_HOME=/usr/java/jdk1.8.0_131
  export JRE_HOME=/usr/java/jdk1.8.0_131/jre

  export>  export PATH=$JAVA_HOME/bin:/usr/local/nginx/sbin:/usr/local/php/bin:/usr/local/mysql/bin:$PATH
  添加完成之后source /etc/profile使其生效。
  检测:在命令行输入Java -version即可看到JDK版本等信息,表示安装成功。接着是Tomcat的配置。
  tomcat:
  1,下载安装包,这里下载的是apache-tomcat-8.5.15.tar.gz。
  2,解压安装脚本:
  for i in crm dz jz tb wm xyg yg yj lcb gw
  do
  cd /usr/local
  tar -zxf apache-tomcat-8.5.15.tar.gz
  mv -f apache-tomcat-8.5.15 /usr/local/tomcat/"${i}"#生成10个Tomcat端
  cd /usr/local/tomcat/"${i}"/bin/
  cat >> catalina.sh <<EOF       #这里的代码主要是配置每个Tomcat端的启动脚本的环境变量
  export CATALINA_BASE=\$CATALINA_BASE_${i}#这里要注意脚本会转换$符号,所以要用单引号把$符号扩起来,让他不要转义
  export CATALINA_HOME=\$CATALINA_HOME_${i}
  EOF
  cat >> /etc/profile <<EOF   #这里的代码主要是配置这10个Tomcat端的环境变量
  #${i}
  CATALINA_BASE_${i}=/usr/local/tomcat/${i}
  CATALINA_HOME_${i}=/usr/local/tomcat/${i}

  export>  export CATALINA_BASE_${i} CATALINA_HOME_${i}
  EOF
  done
  crm dz jz tb wm xyg yg yj lcb gw这些是项目中的名称,可以不用去管他,你也可以自己取名
  接下来,配置每个Tomcat的端口。稍后我会上传自动替换脚本。
  进入每一个Tomcat端的conf目录下,cd /usr/local/tomcat/项目名称/conf
  vim server.xml
  修改3处:
  1)<Server port="8005" shutdown="SHUTDOWN">port端口号
  2)<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />   port端口号
  3) <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />   port端口号
  之后:cd ../bin/
  修改:
  vim catalina.sh
  查找到:setclasspath这个名称。命令:/setclasspath
  修改$CATALINA_HOME+你项目名称(要对应),注意这里要修改setclasspath这个名称前所有的$CATALINA_HOME
  esc,:wq保存并退出。
  至此,配置基本完成。
  最后,进入到bin目录下,先./shutdown.sh,然后再./startup.sh就成功启动了
  如果网页显示拒绝的话,那么很有可能是防火墙拒绝了,要添加规则
  vim /etc/sysconfig/iptables
  -A INPUT -p tcp -m state --state NEW -m tcp --dport 端口号 -j ACCEPT
  或者
  -A INPUT -s 你的IP地址 -j ACCEPT
  在浏览器地址栏中输入http://localhost:端口,即可访问,默认应该是Tomcat自带目录,一只小猫。
页: [1]
查看完整版本: Linux下nginx+多个Tomcat负载均衡的实现