tomcat集群搭建集成nginx负载均衡
软件基础+版本:
1、3台centos7系统,其中都已经配置完成了jdk环境,jdk的版本为
[root@node03 bin]# java -version
java version "1.8.0_144"
Java(TM) SE Runtime Environment (build 1.8.0_144-b01)
Java HotSpot(TM) -Bit Server VM (build 25.144-b01, mixed mode)
具体的linux的jdk配置方式可见其他文章
2、解压版的linux的tomcat,版本如下:
[root@node02 soft]# ll
总用量
-rw-r--r-- 1 root root 10291220 11月 26 15:44 apache-tomcat-8.5.49.tar.gz
3、
[root@node02 soft]# ll
总用量
drwxr-xr-x. 7月 jdk1..0_144
-rw-r--r--. root root 9月 : jdk-8u144-linux-x64.tar.gz
drwxr-xr-x nginx nginx 11月 : nginx-1.10.
-rw-r--r-- 1 root root 910812 10月 18 2016 nginx-1.10.2.tar.gz
三台centos的别名和ip为:下面是三台虚拟机
192.168.27.202 node02
192.168.27.203 node03
192.168.27.204 node04
其中的node02和node03是安装两个tomcat,搭建tomcat集群用
node04是搭建nginx做负载均衡服务器
1、配置搭建tomcat集群的两台服务器的jdk环境
步骤:
2、node02上面安装tomcat:
[root@node02 soft]# tar zxfapache-tomcat-8.5.49.tar.gz
解压完毕之后
在tomcat的解压目录下面的webapps的ROOT下面创建一个jsp页面用于测试tomcat是否安装成功
具体的创建jsp和验证的过程如下:
在tomcat的ROOT目录下执行命令:
[root@node03 ROOT]# vim test.jsp 写一个测试页
[root@node03 ROOT]# cat test.jsp
[root@node03 ROOT]# more test.jsp
server03:the time is: <%=new java.util.Date()%>
[root@node03 ROOT]#
[root@node03 ROOT]# ll
总用量
-rw-r----- root root 11月 : asf-logo-wide.svg
-rw-r----- root root 11月 : bg-button.png
-rw-r----- root root 11月 : bg-middle.png
-rw-r----- root root 11月 : bg-nav.png
-rw-r----- root root 11月 : bg-upper.png
-rw-r----- root root 11月 : favicon.ico
-rw-r----- root root 11月 : index.jsp
-rw-r----- root root 11月 : RELEASE-NOTES.txt
-rw-r--r-- 1 root root 48 11月 26 16:24 test.jsp
-rw-r----- root root 11月 : tomcat.css
-rw-r----- root root 11月 : tomcat.gif
-rw-r----- root root 11月 : tomcat.png
-rw-r----- root root 11月 : tomcat-power.gif
-rw-r----- root root 11月 : tomcat.svg
drwxr-x--- root root 11月 : WEB-INF
[root@node03 ROOT]# pwd
/opt/soft/apache-tomcat-8.5.49/webapps/ROOT
[root@node03 ROOT]#
之后在自己的本地机子上,浏览器中进行测试,
输入安装tomcat的那台机子的ip:8080/test.jsp如果能够进入页面,则代表配置成功
test.jsp页面测试效果如下:
同样的node03也进行同样的配置和检测
2、node04服务器的nginx环境搭建:
编译nginx进行负载均衡的配置:
[root@node04]# tar zxf nginx-1.10..tar.gz
解压完毕之后:
我配置的并没有sticky模块,这个是借助于网上的一个人的图片,哈哈,自己忘截图了
安装完毕之后进行下面的配置更改
[root@node04 nginx-1.10.2] # vim auto/cc/gcc
#CFLAGS="$CFLAGS -g" ##注释掉这行,忽略编译信息,安装的容量会变小。
[root@node04 nginx-1.10.2] # yum install gcc pcre-devel openssl-devel -y
[root@node04 nginx-1.10.2] # ./configure #注意这个后面可以见参数:比如prefix等参数,具体的参数的含义:见链接:https://blog.csdn.net/qq_32907349/article/details/53814194
再进行
[root@node04 nginx-1.10.2]# yum install gcc pcre-devel openssl-devel -y
[root@node04 nginx-1.10.2] # ./configure #也可以指定参数:
[root@server6 nginx-1.10.1]# ./configure --prefix=/usr/local/lnmp/nginx --with-http_ssl_module --with-http_stub_status_module --with-file-aio --with-threads --user=nginx --group=nginx --add-module=/root/nginx-sticky-module-ng
但我没有指定:
[root@node04 nginx-1.10.2] #make && make install 编译三部曲
[root@node04 nginx-1.10.] #useradd nginx 建立用户 [root@node04 sbin]# cd /usr/local/nginx/sbin/nginx下面的sbin目录下面有nginx命令,通过./nginx即可启动nginx,
###############特别需要注意的是上面安装nginx的过程中:配置
之后在本机的浏览器中输入地址http://192.168.27:80/
如果见到下面的页面,即是安装成功
nginx的欢迎也即是成功
之后需要配置的是nginx集成tomcat集群:
配置如下
注意nginx.conf是/usr/local/nginx/conf的nginx.conf,而不是nginx安装目录下的那个conf下的,安装目录下的conf下面没有nginx.conf文件
[root@node04 nginx]# ll
总用量 4
drwx------ 2 nobody root 6 11月 26 17:14 client_body_temp
drwxr-xr-x 2 root root 4096 11月 26 17:42 conf
drwx------ 2 nobody root 6 11月 26 17:14 fastcgi_temp
drwxr-xr-x 2 root root 40 11月 26 17:03 html
drwxr-xr-x 2 root root 58 11月 26 17:14 logs
drwx------ 2 nobody root 6 11月 26 17:14 proxy_temp
drwxr-xr-x 2 root root 19 11月 26 17:03 sbin
drwx------ 2 nobody root 6 11月 26 17:14 scgi_temp
drwx------ 2 nobody root 6 11月 26 17:14 uwsgi_temp
[root@node04 nginx]# cd conf
[root@node04 conf]# pwd
/usr/local/nginx/conf
[root@node04 conf]#
具体的配置如下:
[root@node04 conf]# ll
总用量
-rw-r--r-- root root 11月 : fastcgi.conf
-rw-r--r-- root root 11月 : fastcgi.conf.default
-rw-r--r-- root root 11月 : fastcgi_params
-rw-r--r-- root root 11月 : fastcgi_params.default
-rw-r--r-- root root 11月 : koi-utf
-rw-r--r-- root root 11月 : koi-win
-rw-r--r-- root root 11月 : mime.types
-rw-r--r-- root root 11月 : mime.types.default
-rw-r--r-- root root 11月 : nginx.conf
-rw-r--r-- root root 11月 : nginx.conf.bak
-rw-r--r-- root root 11月 : nginx.conf.default
-rw-r--r-- root root 11月 : scgi_params
-rw-r--r-- root root 11月 : scgi_params.default
-rw-r--r-- root root 11月 : uwsgi_params
-rw-r--r-- root root 11月 : uwsgi_params.default
-rw-r--r-- root root 11月 : win-utf
[root@node04 conf]# vim nginx.conf
listen ;
server_name tomcat; #charset koi8-r; #access_log logs/host.access.log main; location / {
root html;
index index.html index.htm;
} error_page /.html; # redirect server error pages to the static page /50x.html
#
error_page /50x.html;
location = /50x.html {
root html;
} # proxy the PHP scripts to Apache listening on 127.0.0.1: location ~ \.jsp$ {
proxy_pass http://tomcat;
} # pass the PHP scripts to FastCGI server listening on 127.0.0.1:
#
#location ~ \.php$ {
# root html;
# fastcgi_pass 127.0.0.1:;
# fastcgi_index index.php;
# fastcgi_param SCRIPT_FILENAME /scripts$fastcgi_script_name;
# include fastcgi_params;
#} # deny access to .htaccess files, if Apache's document root
# concurs with nginx's one
#
#location ~ /\.ht {
# deny all;
#}
} # another virtual host using mix of IP-, name-, and port-based configuration
#
#server {
# listen ;
# listen somename:;
# server_name somename alias another.alias; # location / {
# root html;
# index index.html index.htm;
# }
#} # HTTPS server
#
#server {
# listen ssl;
# server_name localhost; # ssl_certificate cert.pem;
# ssl_certificate_key cert.key; # ssl_session_cache shared:SSL:1m;
# ssl_session_timeout 5m; # ssl_ciphers HIGH:!aNULL:!MD5;
# ssl_prefer_server_ciphers on; # location / {
# root html;
# index index.html index.htm;
# }
#} }
配置完毕之后:
在本机中的浏览器中输入nginx服务器的地址:+80端口+test.jsp见到 下面的界面则是成功了
第一次刷新和第二次,就会进入不同的tomcat服务器了
完毕!
最新文章
- Java发送Http请求并获取状态码
- .NET LINQ概述
- leetcode 179. Largest Number 求最大组合数 ---------- java
- Linux内核@系统组成与内核配置编译
- UIMenuController使用
- swift学习笔记之-闭包
- win8系统 host文件无法修改解决之道
- 创建MS Office 和 WPS 兼容插件
- Java基础知识强化之集合框架笔记12:Collection集合存储字符串并遍历
- DCI架构
- 解决win10 iot VS编程出现的无法引用错误
- xxtea---单片机数据加密算法
- hibernate 解决 java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
- 深入理解 BFC
- 解决从本地文件系统上传到HDFS时的权限问题
- 【iCore4 双核心板_FPGA】例程七:状态机实验——状态机使用
- ajax 检测用户名是否可用
- 2017-2018-2 20155224『网络对抗技术』Exp4:恶意代码分析
- Oracle:在 debian9 上完美安装 oracle 10.2.0.5 x64
- Python word_cloud 部分文档翻译 标签云系列(二)
热门文章
- XGBoost学习笔记1
- C# 将List数据 导出到csv 文件
- [51nod 1126] 求递推序列的第N项 - 矩阵乘法
- Uva1635 二项式递推+质因子分解+整数因子分解
- 输出redis cluster 主从的对应关系,如果同一个主从关系的master和slave在同一个node节点上,在输出的对应关系末尾输出提示
- kali linux中mariadb加上密码
- sqlserver创建和删除外键约束
- Docker最全教程——从理论到实战(十五)
- java面试记录二:spring加载流程、springmvc请求流程、spring事务失效、synchronized和volatile、JMM和JVM模型、二分查找的实现、垃圾收集器、控制台顺序打印ABC的三种线程实现
- Codeforce 25A - IQ test (唯一奇偶)