Tomcat集群(一)
1、介绍
本章章节是配置Tomcat集群的初体验,如果想看Tomcat共享Session的内容请参考我博客 Tomcat集群(二)
2、准备工作
这里默认大家已经把 JDK 安装完成
IP : 192.168.1.241
OS: CentOS 6.8
3、安装 Tomcat
3.1 下载
Download, 这里我使用的版本是 apache-tomcat-7.0.50.tar.gz
3.2 解压
解压后的效果,Tomcat默认的端口号是8080。这里将把tomcat-8071的端口号改为8071,将把tomcat-8072的端口号改为8072
3.3 将 tomcat-8071的端口号为8071
修改 conf/server.xml 文件的三处,将所有端口号的大小 +20,如果此处修改不太明白的同学,请参考我Tomcat配置专栏,这里不过多讲解
原: <Server port="8005" shutdown="SHUTDOWN">
改: <Server port="8025" shutdown="SHUTDOWN">
原: <Connector port="8080" redirectPort="8443" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000"/>
改: <Connector port="8071" redirectPort="8463" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000"/>
原: <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
改: <Connector port="8029" protocol="AJP/1.3" redirectPort="8463" />
3.4 将 tomcat-8071的端口号为8072
修改 conf/server.xml 文件的三处,将所有端口号的大小 +21,如果此处修改不太明白的同学,请参考我Tomcat配置专栏,这里不过多讲解
原: <Server port="8005" shutdown="SHUTDOWN">
改: <Server port="8026" shutdown="SHUTDOWN">
原: <Connector port="8080" redirectPort="8443" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000"/>
改: <Connector port="8072" redirectPort="8464" protocol="HTTP/1.1" URIEncoding="UTF-8" connectionTimeout="20000"/>
原: <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
改: <Connector port="8030" protocol="AJP/1.3" redirectPort="8464" />
4、安装 Nginx
Nginx的安装过程如果有疑问请参考我Nginx专栏的博客 Nginx-专栏
4.1 下载
Download,这里我使用的版本是nginx-1.10.3.tar.gz
4.2 解压
tar -zxvf nginx-1.10.3.tar.gz
4.3 创建目录
mkdir nginx
创建nginx文件,此文件为Nginx源代码安装Nginx的目录位置。4.1、4.2、4.3 步骤完成后的效果如下图所示。
4.4 安装
下面的命令全是在 nginx的源码包目录下执行的
4.4.1 设置安装路径
–prefix 后面接的是,4.3步所创建的文件目录
./configure --prefix=/usr/developer/nginx
4.4.2 可能出现的异常
如果出现 ./configure: error: the HTTP rewrite module requires the PCRE library. 异常。则通过 yum 安装相应依赖
yum -y install pcre-devel openssl openssl-devel
4.4.3 再次执行
./configure --prefix=/usr/developer/nginx
4.4.4 编译&安装
make && make install
4.4.5 安装成功
安装成功后,会在 4.3 步所创建的文件目录下出现如下图所示文件
4.5 配置Nginx代理
4.5.1 切换目录
进入到4.3 步所创建的文件目录
4.5.2 创建 servers 目录
4.5.3 创建服务
进入 4.5.2 步 时创建的目录下创建web.conf文件,文件内容如下
upstream apacheTomcat {
server 192.168.1.241:8071;
server 192.168.1.241:8072;
}
server {
listen 8088;
server_name localhost;
access_log logs/quancha.access.log main;
error_log logs/quancha.error.log;
root html;
index index.html index.htm;
location / {
proxy_pass http://apacheTomcat;
#Proxy Settings
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_next_upstream error timeout invalid_header http_500 http_502 http_503 http_504;
proxy_max_temp_file_size 0;
proxy_connect_timeout 90;
proxy_send_timeout 90;
proxy_read_timeout 90;
proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}
4.5.4 修改 nginx.conf
nginx.conf 文件在 conf 目录下,修改内容如下.
特别注意: 将 include 后面的web.conf 文件的目录要换成4.5.3您创建的web.conf文件的目录
worker_processes 1;
#pid /var/run/nginx.pid;
error_log logs/error.log;
error_log logs/error.log notice;
error_log logs/error.log info;
events {
worker_connections 1024;
}
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;
keepalive_timeout 65;
gzip on;
gzip_disable "msie6";
gzip_proxied any;
gzip_min_length 1000;
gzip_comp_level 4;
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript;
gzip_vary on;
include /usr/developer/nginx/servers/web.conf/web.conf;
}
4.6 启动Nginx
进入 sbin 目录执行如下命令
./nginx
5、结果测试
5.1 在 tomcat-8071 中添加页面
在 tomcat-8071/webapps目录下创建 test-web 文件,然后在test-web目录下创建 index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>AAA</title>
</head>
<body>
8071-的页面
</body>
</html>
5.2 在 tomcat-8072 中添加页面
在 tomcat-8072/webapps目录下创建 test-web 文件,然后在test-web目录下创建 index.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>BBB</title>
</head>
<body>
8072-的页面
</body>
</html>
5.3 启动Nginx
访问 8088 端口,频繁刷新,页面将在 8071 和 8072 中切换,表示操作成功
6、进阶操作
至此,Tomcat集群操作的初级体验已完成,接下来进可参考我后面的博客,进行 Session共享的操作 Tomcat集群(二)
Hero鹏,一个伟大的名字
如有疑问或是吐槽者,都可以联系我,
HomePage: www.crazyboy2016.com
Email: aaa@qq.com
GitHub: wangjianpeng2016
Blog: Hero鹏
上一篇: 集群高可用之heartbeat
下一篇: python 实现自定义二维码