ThinkChat🤖让你学习和工作更高效,注册即送10W Token,即刻开启你的AI之旅 广告
# Tomcat多实例及集群架构 [TOC] ## 一、 多实例部署 ### 1. 方法说明 tomcat的多实例很简单,就是把主文件加多复制积分,然后修改配置文件中的端口号即可,并且可以将做好的多实例程序打包,然后在其他电脑上解压后直接用即可 ### 2. 多实例创建 1)复制Tomcat目录 ```sh cd /app/ cp -a apache-tomcat-8.0.27 tomcat8_1 cp -a apache-tomcat-8.0.27 tomcat8_2 ``` 2)修改配置文件 ```sh sed -i 's#8005#8011#;s#8080#8081#' tomcat8_1/conf/server.xml sed -i 's#8005#8012#;s#8080#8082#' tomcat8_2/conf/server.xml ``` 然后将以上实例打包,以后就可以用在其他地方了,命令如下 ```sh tar zcf tomcat_muti.tar.gz ./tomcat8_1/ ./tomcat8_2/ ``` 3)创建实例的测试网页 ```sh echo 8081 >>/app/tomcat8_1/webapps/ROOT/index.jsp echo 8082 >>/app/tomcat8_2/webapps/ROOT/index.jsp ``` 4)启动多实例 ```sh /app/tomcat8_1/bin/startup.sh /app/tomcat8_2/bin/startup.sh netstat -tunlp|grep java ``` 浏览器可以分别访问如下地址验证配置结果 http://10.0.0.3:8081/index.jsp http://10.0.0.3:8082/index.jsp ## 二、Tomcat与nginx集群 使用nginx做反向代理,Tomcat多实例做web应用,可以实现Tomcat反向代理集群,编辑nginx配置文件 注意看`upstream`和`location`处的修改 ```sh cat >/etc/nginx/nginx.conf <<'EOF' worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; upstream web_pools { server 10.0.0.3:8081; server 10.0.0.3:8082; } server { listen 80; server_name localhost; location / { root html; index index.jsp index.html index.htm; proxy_pass http://web_pools; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } EOF ``` 重启nginx后浏览器可以访问http://10.0.0.3/index.jsp