ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

Linux + Tomcat + Nginx 实现负载均衡

2022-07-08 15:34:33  阅读:102  来源: 互联网

标签:Tomcat Nginx Server nginx usr Linux root


一、Tomcat 简介

Tomcat 是一个开源的开放源代码的 Web 应用服务器,属于轻量级应用服务器,在中小型系统和并发访问用户不是很多的场合下被普遍使用,是开发和调式 JSP 程序的首选。

2. 安装 Tomcat 服务准备工作:

主机名操作系统IP地址
Tomcat-A CentOS 7.x 192.168.1.1
1.安装配置 Tomcat
1)安装 JDK:下载地址(需要创建 Oracle 账号)
[root@Tomcat-A ~]# ls
anaconda-ks.cfg apache-tomcat-8.5.16.tar.gz jdk-8u91-linux-x64.tar.gz
[root@Tomcat-A ~]# tar zxf jdk-8u91-linux-x64.tar.gz
[root@Tomcat-A ~]# mv jdk1.8.0_91/ /usr/local/java
[root@Tomcat-A ~]# cat <<END >> /etc/profile
export JAVA_HOME=/usr/local/java
export PATH=$PATH:/usr/local/java/bin
END
[root@Tomcat-A ~]# source /etc/profile
[root@Tomcat-A ~]# java -version# 查看 Java 版本号

 

 

2)安装 Tomcat 软件:



[root@Tomcat-A ~]# wget https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.16/bin/apache-tomcat-8.5.16.tar.gz
[root@Tomcat-A ~]# tar zxf apache-tomcat-8.5.16.tar.gz
[root@Tomcat-A ~]# mv apache-tomcat-8.5.16 /usr/local/tomcat8
[root@Tomcat-A ~]# /usr/local/tomcat8/bin/startup.sh # 启动 Tomcat
[root@Tomcat-A ~]# netstat -anpt | grep 8080 # Tomcat 的工作端口
[root@Tomcat-A ~]# netstat -anpt | grep java # 查看 Java 端口号

 

 注解:

    • 8005端口:用 shutdown.sh 关闭 Tomcat 的时候需要用到的端口号,如果此端口没启动,Tomcat 不能用 shutdown 命令关闭。
    • 8009端口:是 Tomcat 负责和其他的 HTTP 服务器建立连接的端口,如 Nginx 和 Apache 互通时使用。(AJP/1.3 协议)
    • 8080端口:HTTP 访问时使用的端口。(HTTP/1.1 协议)
2.验证

 

 3.配置 Java 的 Web 目录

[root@Tomcat-A ~]# mkdir -p /web/tomcat
[root@Tomcat-A ~]# echo "192.168.1.1:Tomcat-A" > /web/tomcat/index.jsp

 

 

4.修改 Tomcat 主配置文件

[root@Tomcat-A ~]# vim /usr/local/tomcat8/conf/server.xml
在148-151行添加:
<Context docBase="/web/tomcat" path="" reloadable="false">
</Context>

 

 注解:

  • unpackWARs="true":配置自动识别 war 包。
  • autoDeploy="true":开启自动部署。
  • Context docBase="/web/tomcat":网页根目录。
  • path="":设置网页;相当于是 Nginx 中的 Location。
  • reloadble="false":不会自动重新加载 Web 应用,配置为 true 则会根据文件被改动后自动重新加载。


重启 Tomcat 服务

[root@Tomcat-A ~]# /usr/local/tomcat8/bin/shutdown.sh
[root@Tomcat-A ~]# /usr/local/tomcat8/bin/startup.sh

 

 验证:

 

 

3. 负载均衡

准备工作:

 

主机名操作系统IP地址
Tomcat-A CentOS 7.x 192.168.1.1
Tomcat-B CentOS 7.x 192.168.1.2
Nginx-Server CentOS 7.x 192.168.1.3

 

注意:

    • Tomcat-A 可以用上面配置;
    • Tomcat-B 跟 Tomcat-A 步骤一样,但页面要区分开,方便测试;
    •  
1.部署 Nginx 服务器
1)安装 Nginx 服务
[root@Nginx-Server ~]# yum -y install pcre-devel zlib-devel popt-devel openssl-devel openssl
[root@Nginx-Server ~]# wget http://www.nginx.org/download/nginx-1.18.0.tar.gz
[root@Nginx-Server ~]# ls
anaconda-ks.cfg nginx-1.18.0.tar.gz
[root@Nginx-Server ~]# tar zxf nginx-1.18.0.tar.gz -C /usr/src/
[root@Nginx-Server ~]# cd /usr/src/nginx-1.18.0/
[root@Nginx-Server nginx-1.18.0]# useradd -M -s /sbin/nologin nginx
[root@Nginx-Server nginx-1.18.0]# ./configure \
--prefix=/usr/local/nginx \
--user=nginx \
--group=nginx \
--with-http_stub_status_module && make && make install
[root@Nginx-Server nginx-1.18.0]# ln -s /usr/local/nginx/sbin/nginx /usr/local/sbin/

 


2)配置 Nginx 主配置文件
[root@Nginx-Server ~]# vim /usr/local/nginx/conf/nginx.conf
在 32 行增加:
upstream tomcat_server {
    server 192.168.1.1:8080 weight=1;
    server 192.168.1.2:8080 weight=1;
}
在 49 行添加:
proxy_pass http://tomcat_server;

 

 [root@Nginx-Server ~]# nginx -t# 检查 Nginx 配置文件是否正确
[root@Nginx-Server ~]# nginx# 启用 Nginx 服务
[root@Nginx-Server ~]# ps aux | grep nginx# 查看 Nginx 服务进程
[root@Nginx-Server ~]# netstat -anpt | grep nginx# 查看 Nginx 端口号和进程号

 

 2.验证
使用浏览器访问 Nginx 服务器 IP 地址:

 

 

 不断刷新页面,观察页面变化:

 

 使用脚本查看效果:

 

 

 

参考链接:https://blog.csdn.net/weixin_46902396/article/details/122574996


 


版权申明:内容来源网络,版权归原创者所有。除非无法确认,都会标明作者及出处,如有侵权,烦请告知,我们会立即删除并致歉!


 


 


                     微信扫一扫 关注公众号


       


标签:Tomcat,Nginx,Server,nginx,usr,Linux,root
来源: https://www.cnblogs.com/leikunbo/p/16458511.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有